CMake-通过环境变量而不扩展

时间:2019-05-09 20:44:30

标签: cmake

在CMake中,我正在执行以下操作:

LINK_DIRECTORIES( $ENV{VARNAME}/lib )

但是,这将扩展环境变量,以便生成的Visual Studio项目将具有硬编码的路径,例如:

C:/PathToWhereVarNamePointed/lib

是否可以进行上述调用,以便Visual Studio代替下面的内容?

$(VARNAME)/lib

1 个答案:

答案 0 :(得分:3)

由于CMake 2.8.1 changed how this value is interpreted(相对于绝对),除了逃避美元和美元汇率外,您还需要设置旧政策:

CMAKE_POLICY( SET CMP0015 OLD )
LINK_DIRECTORIES( 
    \$\(VARNAME\)/lib
)
CMAKE_POLICY( SET CMP0015 NEW )

然后它显示为: enter image description here CMake文档说LINK_DIRECTORIES是“ rarely necessary”。您确定这是正确的方法吗?