2011年6月14日

[CMake] 為單一檔案或 target "新增" 編譯的參數

有時整個專案中,某些檔案或者 target 會需要特別的編譯參數,這時可以使用
SET_SOURCE_FILES_PROPERTIES() 或者 SET_TARGET_PROPERTIES() 來增加這些編譯設定,例如:

SET_SOURCE_FILES_PROPERTIES(src/aFile.c src/bFile.c
                            PROPERTIES COMPILE_FLAGS "-DmyDefine -ggdb"
                           )
這時再去看看生成的 flags.make 和 build.make 就會有所發現!

不過要留意的是,這裡指「新增」。表示原有繼承的編譯參數還是會存在,可以檢視 "CMAKE_C_FLAGS", "CMAKE_CXX_FLAGS" 等變數 [1]。換句話說,原先的編譯參數中,如果有 "-O0" 後續想換 "-O4" 就不能僅僅只是新增,而是要替換掉。這點需留意。

  1. CMake Useful Variables

沒有留言: