2014-10-22 27 views
0

我在項目中使用CMake 2.8.12.2,我注意到取決於構建類型,它向編譯器添加了一些標誌。在版本構建類型的情況下,它添加了-O3-NDEBUGCMake:取決於構建類型的默認標誌

問題是,因爲這個項目將被用於不同的平臺,我不知道他們正在使用哪個CMake版本(當然高於2.8),我想知道是否有一些默認每個構建類型的標誌,或者該功能是否取決於CMake的版本。

我知道我可以將我的標記添加到變量CMAKE_CXX_FLAGS_*,但我想通過只添加一次標記來保持編譯「乾淨」,而不是覆蓋已經完成的操作。

回答

0

這將增加「-Wall」的發佈標誌

set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall") 
+0

是的,我知道。我問的更多關於默認標誌cmake根據構建類型添加到編譯。 – Jcao02 2014-10-22 10:28:54

+0

找出默認值,並自己覆蓋它,並確保你永遠不會有重複。如果你想要更多的控制,你可以使用cmake提供的string()函數,但是我保證它看起來很亂,你不會有任何幫助,因爲沒有人這樣做。 – ChrisWard1000 2014-10-22 12:56:04

0

-O3-NDEBUG已經很長一段時間使用CMake的;所以你不應該擔心他們,因爲在實踐中他們已經獨立於CMake版本。