在GNU Make中我会写这个:
DEF=FOO BAR BAZ
CMAKE_REQUIRED_DEFINIITIONS=$(addprefix -D,$(FOO))
除了这样做之外,CMake中是否有相应的内容:
macro(addprefix prefix list_name)
SET(${list_name}_TMP)
foreach(l ${list_name})
list(APPEND ${list_name}_TMP ${prefix}${l} )
endforeach()
SET(${list_name} ${list_name}_TMP)
UNSET(${list_name}_TMP)
endmacro(addprefix)
set(APPEND required_definitions FOO BAR BAZ)
set(CMAKE_REQUIRED_DEFINITIONS addprefix(-D required_definitions))
CMake应该比GNU Make ...更容易使用
答案 0 :(得分:1)
重新制定我以前的评论作为答案:
target_compile_definitions(your_target PUBLIC ${your_list})
可能是您正在寻找的CMake命令。