CMAKE在哪里获取环境变量?

Kil*_*zor 4 bash cmake

如果我输入控制台:

$ echo $COCOS_ROOT
Run Code Online (Sandbox Code Playgroud)

我得到了正确的路径,因为我在.bashrc文件中定义了这个变量.但是,当我执行此代码时,

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

未定义环境var.如果我在控制台制作中定义ENV var:

$ export COCOS_ROOT=/path/to/cocos
Run Code Online (Sandbox Code Playgroud)

然后使用cocos2D路径正确设置脚本.

我的问题是:我需要在哪里定义cmake找到的env变量?

谢谢

Gui*_*ume 6

在您的.bashrc文件中,您需要导出COCOS_ROOT变量,否则它不会传递给子进程:

export COCOS_ROOT=/path/to/cocos
Run Code Online (Sandbox Code Playgroud)

并不是

COCOS_ROOT=/path/to/cocos
Run Code Online (Sandbox Code Playgroud)

您的COCO_ROOT在shell中可用,因为.bashrcshell启动时会加载该文件.