2017-01-16 93 views
0

我有一個可執行文件A鏈接到動態庫依賴項B.所有編譯和鏈接正確,但現在我想爲我的CMakeLists.txt中的B依賴項設置一個cmake定義,我該怎麼做?如何爲依賴目標添加cmake定義?

要恢復,現在我不得不這樣做,每次:

cmake -DBLIBRARY_BUILD_TESTS=0 . 

我希望把他們-DBLIBRARY_BUILD_TESTS = 0我的CMakeLists.txt裏面總是配置與標誌設置爲0的B依賴,以此操作:

cmake . 
+0

我的問題不是如何添加一個編譯定義,而是一個cmake的定義。也許我錯了「定義」這個術語,也許它是一個cmake變量? – FrameBuffer

+2

'set(LIBRARY_BUILD_TESTS 0)' –

+1

我會添加這個作爲cmake選項,默認爲ON。這樣在cmake-gui中,用戶可以根據需要更改默認值,https://cmake.org/cmake/help/v3.0/command/option.html – drescherjm

回答

2

要定義CMake的變量,你需要SET他們像這樣:

SET(LIBRARY_BUILD_TESTS 0) 

或者布爾:

SET(LIBRARY_BUILD_TESTS OFF) 

如果這是應該由用戶配置,使用OPTION

OPTION(LIBRARY_BUILD_TESTS "Build library tests" OFF) 
相關問題