我想按如下方式使用file(GLOB_RECURSE...
:
file(GLOB_RECURSE _tmp_files
LIST_DIRECTORIES false
"${mydir}/*.cpp|${mydir}/*.h")
这与${mydir}/*{.cpp,.h}
等变体一起产生了一个空列表。然而,这正如预期的那样工作——生成${mydir}
中的所有*.cpp
文件及其子目录:
file(GLOB_RECURSE _tmp_files
LIST_DIRECTORIES false
"${mydir}/*.cpp")
那么,CMake
中的file(
特性是否确实支持";"满";地球仪?特别是,如何使用file(
为模式{*.cpp,*.h}
进行glob?
那么,CMake中的文件(功能(确实支持"完整"globbing吗?
是。
你的表达方式与你期望的不一样。{..,..}
不是glob中多个后缀的匹配方式,{
,
}
是字面上匹配的,在glob没有特殊意义。"${mydir}/*.cpp|${mydir}/*.h"
在glob中不是OR——|
是字面上匹配的,它在glop中没有特殊意义。参见man 7 glob
。
如何使用文件(?(为模式{.cpp,.h}进行glob
写两次。
file(GLOB_RECURSE _tmp_files
LIST_DIRECTORIES false
${mydir}/*.cpp
${mydir}/*.h
)