【问题标题】:how to use EXCLUDE REGEX for multiple files in cmake如何在cmake中对多个文件使用EXCLUDE REGEX
【发布时间】:2021-11-09 09:47:42
【问题描述】:

参考这个: How do I exclude a single file from a cmake `file(GLOB ... )` pattern?

如何在单个排除正则表达式命令中排除多个文件?

谢谢

【问题讨论】:

  • in a single 但是为什么不是多个呢?
  • @KamilCuk,我喜欢很多文件,写一个命令让它看起来不错。

标签: cmake


【解决方案1】:

如何在单个排除正则表达式命令中排除多个文件?

只需编写一个匹配多个文件的正则表达式。记住 CMake 中的双重转义。

list(FILTER lib_srcs EXCLUDE REGEX "^(file1|file2|file3)$")

考虑做一个函数(未经测试,写在这里):

function(exclude_from_lsit list)
   foreach(ii IN LISTS ARGV)
       list(REMOVE_ITEM ${list} ${ii})
   endforeach()
   set(${list} ${${list}} PARENT_SCOPE)
endfunction()
exclude_from_list(lib_srcs
   file1
   file2
   file3
)

或者真的只是一个循环:

foreach(ii IN ITEMS
    file1
    file2
)
     list(REMOVE_ITEM lib_srcs ${ii})
endforeach()

【讨论】:

    猜你喜欢
    • 2013-02-24
    • 1970-01-01
    • 2010-10-29
    • 2013-03-17
    • 2015-09-11
    • 2017-12-19
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多