2016-06-30 52 views
0

我正在使用cmake-gui來創建一個Visual Studio解決方案。我的目錄結構看起來是這樣的:在cmake-gui中使用變量

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變量如何在cmake-gui中使用?

回答

2

您不能,CMake-GUI不會評估變量或宏。您只能添加實際路徑(相對或絕對)。如果你想使用變量,你必須修改你的CMakeLists.txt。

如果您從命令行調用CMake,您可以添加-D FENCY_VARIABLE=bin/static/$(Platform)/$(Configuration),這將由您的終端進行評估。