在cmake-gui中使用变量

时间:2016-06-30 05:10:20

标签: variables cmake

我正在使用cmake-gui来创建Visual Studio解决方案。我的目录结构如下所示:

Foo
|-- source
|-- include
|-- docs
|-- // ...
|-- bin   // desired output directory
|-- build // cmake build directory

我想将生成的项目的输出目录设置在以下位置:Foo/bin

如果我理解正确,cmake变量PROJECT_SOURCE_DIR包含上面目录图中显示的“Foo”目录的绝对路径。使用cmake-gui,我正在尝试将CMAKE_ARCHIVE_OUTPUT_DIRECTORY设置为${PROJECT_SOURCE_DIR}/bin/static/$(Platform)/$(Configuration)

的值

$(Platform)$(Configuration)是Visual Studio宏。

这不会产生预期的结果。问题是CMake没有用它的值替换“$ {PROJECT_SOURCE_DIR}”,这意味着在生成的.vcxproj中,输出目录值实际上是:“$ {PROJECT_SOURCE_DIR} / bin / static / $(Platform)/ $(Configuration) “

简单地说,我的问题是:如何在cmake-gui中使用CMake变量?

1 个答案:

答案 0 :(得分:2)

你不能,CMake-GUI不评估变量或宏。您只能添加实际路径(相对或绝对路径)。如果您想使用变量,则必须修改CMakeLists.txt。

如果您从命令行调用CMake,则可以添加-D FENCY_VARIABLE=bin/static/$(Platform)/$(Configuration),这将由您的终端进行评估。