我正在使用 CMake 为我的项目生成 Makefile。
我想用不同的选项编译一些文件。 例如,所有带 -fX 的文件,但 test 文件夹中的文件带 -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)
最佳答案
您可以使用 set_source_files_properties
命令将编译标志添加到特定文件:
SET_SOURCE_FILES_PROPERTIES(
${list_of_noX_files}
PROPERTIES
COMPILE_FLAGS "-fno-X"
)
在这种情况下,变量 list_of_noX_files
中列出的文件将使用附加到默认选项的选项 -fno-X
进行编译。
关于compiler-construction - 如何使用 CMake 更改文件夹的编译标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14700354/