CMake为列表的每个元素添加前缀

时间:2017-08-29 07:29:00

标签: cmake

在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 ...更容易使用

1 个答案:

答案 0 :(得分:1)

重新制定我以前的评论作为答案:

target_compile_definitions(your_target PUBLIC ${your_list})

可能是您正在寻找的CMake命令。