CMAKE aux_source_directory排除模式

时间:2011-11-03 09:55:33

标签: cmake

我想在源目录中包含所有文件,只留下一个文件。

有没有办法使用aux_source_directory或其他任何我可以包含该文件的所有文件?

1 个答案:

答案 0 :(得分:9)

有两种可能的解决方案:

使用file (GLOB ...代替aux_source_directory的globbing表达式与该文件不匹配但包括所有其他文件,例如:

file(GLOB _srcFiles "src/f[1-3].cpp")

这将匹配匹配文件f1.cppf2.cppf3.cpp,但不匹配f4.cpp

或者使用aux_source_directory,然后使用list(REMOVE_ITEM命令删除要明确排除的文件,例如:

aux_source_directory(src _srcFiles)
list(REMOVE_ITEM _srcFiles "src/f4.cpp")