我想在源目录中包含所有文件,只留下一个文件。
有没有办法使用aux_source_directory或其他任何我可以包含该文件的所有文件?
答案 0 :(得分:9)
有两种可能的解决方案:
使用file (GLOB ...
代替aux_source_directory
的globbing表达式与该文件不匹配但包括所有其他文件,例如:
file(GLOB _srcFiles "src/f[1-3].cpp")
这将匹配匹配文件f1.cpp
,f2.cpp
,f3.cpp
,但不匹配f4.cpp
。
或者使用aux_source_directory
,然后使用list(REMOVE_ITEM
命令删除要明确排除的文件,例如:
aux_source_directory(src _srcFiles)
list(REMOVE_ITEM _srcFiles "src/f4.cpp")