2013-06-26 171 views
3

如果我在控制檯輸入:CMAKE在哪裏獲取環境變量?

$ echo $COCOS_ROOT 

我得到了正確的路徑,因爲我在我的.bashrc文件中定義這個變量。但是,當我執行此代碼時,

SET(COCOS_HOME "$ENV{COCOS_ROOT}") 
if (COCOS_HOME) 
    message(STATUS "COCOS2D installed in" ${COCOS_HOME}) 
else() 
    message(WARNING "COCOS2D is undefined") 
endif() 

環境var未定義。如果我定義控制檯製造的ENV VAR:

$ export COCOS_ROOT=/path/to/cocos 

然後腳本正確與cocos2D上設置路徑。

我的問題是:我需要在哪裏定義由cmake發現的env變量?

感謝

回答

6

在你.bashrc文件,你需要導出COCOS_ROOT變量,否則它不會傳遞到子進程:

export COCOS_ROOT=/path/to/cocos 

,而不是

COCOS_ROOT=/path/to/cocos 

你COCO_ROOT可在你的shell,因爲你的shell啓動時會加載.bashrc文件。

+0

你爲什麼要強調命令有輸出和不輸出的區別?在這個問題,它已經正確地提出... – Antonio

+0

我的意思是你應該在你的bashrc中使用導出。 – Guillaume

+0

爲什麼地球上你不應該? :) – Antonio