CMAKE aux_source_directory排除模式

Viv*_*oel 3 cmake

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

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

sak*_*kra 9

有两种可能的解决方案:

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

file(GLOB _srcFiles "src/f[1-3].cpp")
Run Code Online (Sandbox Code Playgroud)

这将匹配匹配的文件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")
Run Code Online (Sandbox Code Playgroud)