【发布时间】:2021-06-17 10:24:38
【问题描述】:
我的项目包含多个目标。我想为所有这些指定编译选项
命令“target_compile_options”
我使用来自CMake - remove a compile flag for a single translation unit 的宏获得了目标列表:
macro(apply_global_cxx_flags_to_all_targets)
separate_arguments(_global_cxx_flags_list UNIX_COMMAND ${CMAKE_CXX_FLAGS})
get_property(_targets DIRECTORY PROPERTY BUILDSYSTEM_TARGETS)
foreach(_target ${_targets})
target_compile_options(${_target} PUBLIC ${_global_cxx_flags_list})
endforeach()
unset(CMAKE_CXX_FLAGS)
set(_flag_sync_required TRUE)
endmacro()
但我收到错误:
使用不可编译的目标类型调用的target_compile_options
因为有些目标不需要编译。有没有办法检查项目是否可编译?我想使用“target_compile_options,因为我需要删除一个子项目的一些选项(如提到的线程)
【问题讨论】:
标签: cmake