19
我想將相同的.cpp源文件編譯爲兩個不同的目標可執行文件,並使用cmake。一個將有一些儀器代碼,另一個不會。這樣我可以比較儀器的開銷。使用CMAKE編譯具有不同標誌的相同文件
我有用#ifdefs分開的工具代碼,所以我想用-D標誌定義一個值。我看到這是可能的
add_definitions(-DINSTRUMENT)
但它看起來像然後適用於該目錄中創建的所有可執行文件。我想知道是否有一種好的方法來爲特定的可執行目標設置定義。
謝謝你的作品。 –
該屬性也可以在每個源文件的基礎上,使用「set_property(SOURCE source_file_name PROPERTY COMPILE_DEFINITIONS ...)」 – DLRdave
@DLRdave,我認爲應該注意的是,使用'set_target_properties()'不會覆蓋定義已經通過前面定義的'add_definitions()'添加。 (我一直很擔心這個,直到我運行'make VERBOSE = 1') – mpontillo