2013-06-26 2 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 вара в консоли решений:

$ export COCOS_ROOT=/path/to/cocos 

Затем скрипт правильно установлен с путем cocos2d.

Мой вопрос: где мне нужно определить env vars, который будет найден cmake?

Благодаря

ответ

6

В файле .bashrc вам нужно экспортировать переменную COCOS_ROOT, в противном случае она не передается дочерним процессам:

export COCOS_ROOT=/path/to/cocos 

и не

COCOS_ROOT=/path/to/cocos 

Ваш COCO_ROOT доступен в ваша оболочка, потому что файл .bashrc загружается при запуске вашей оболочки.

+0

Почему вы подчеркнули разницу между командой с и без экспорта? В вопросе он уже был правильно поставлен ... – Antonio

+0

Я имею в виду, что вы также должны использовать экспорт в своем bashrc. – Guillaume

+0

И почему на земле вы не должны? :) – Antonio

Смежные вопросы