在CMake的文檔中,我們可以讀:CMake的:當使用add_definitions代替set_target_properties(目標屬性COMPILE_DEFINITIONS定義)
再添標誌來編譯器命令行用於在源當前目錄和下面。
COMPILE_DEFINITIONS property on directories
COMPILE_DEFINITIONS:編譯目錄的源預處理器定義。
COMPILE_DEFINITIONS property on targets
COMPILE_DEFINITIONS:編譯目標的源預處理器定義。
COMPILE_DEFINITIONS property on source files
COMPILE_DEFINITIONS:編譯源文件預處理器定義。
COMPILE_DEFINITIONS
和add_definitions
功能似乎重疊。 COMPILE_DEFINITIONS
屬性看起來更加靈活。
如此看來,COMPILE_DEFINITIONS財產做一切add_definitions做,甚至更多。
那麼,在這種情況下必須我們調用add_definitions因爲COMPILE_DEFINITIONS屬性不能使用?
你能解釋一下如何知道這個嗎?這是否在文檔中?爲了理解CMake的奧祕,你需要閱讀什麼? – Praxeolitic 2014-06-15 20:39:09