2013-02-05 89 views
1

我使用CMake爲我的項目生成Makefiles。如何用CMake更改文件夾的編譯標誌?

我想用不同的選項編譯一些文件。 例如,所有帶有-fX的文件,但測試文件夾中帶有-fno-X的文件。

CMake中可能嗎?

這裏是我的CMakeLists.txt文件與源文件中的一部分:

file(
    GLOB_RECURSE 
    compiler_files 
    src/*.cpp 
) 

file(GLOB to_remove src/eddi.cpp) 
list(REMOVE_ITEM compiler_files ${to_remove}) 

add_library(Compiler OBJECT ${compiler_files}) 

add_executable(eddic $<TARGET_OBJECTS:Compiler> src/eddi.cpp) 
target_link_libraries (eddic boost_program_options) 

回答

3

你可以用set_source_files_properties命令添加編譯標誌到特定文件:

SET_SOURCE_FILES_PROPERTIES(
    ${list_of_noX_files} 
    PROPERTIES 
    COMPILE_FLAGS "-fno-X" 
) 

在這種情況下,在變量list_of_noX_files中列出的文件將被編譯爲選項-fno-X附加到默認選項。

+0

就像一個字符,謝謝:) –

相關問題