如何自动添加头文件到项目?

问题描述:

我怎么会去有CMake的构建系统,它为源文件扫描现在使用AUX_SOURCE_DIRECTORY,在同一个目录扫描头文件太多,最好使用类似的命令?如何自动添加头文件到项目?

我没有找到一个简单的方法来做到这一点的文档中,所以我现在有一个蹩脚的bash脚本进行后处理我的(代码块)项目文件...

您可以使用文件(GLOB ...)命令。例如:

set(dir my_search_dir) 
file (GLOB headers "${dir}/*.h") 
message("My headers: " ${headers}) 

该命令还可以递归并列出相对于给定路径的文件。请参阅cmake文档中的"file" command entry

到AUX_SOURCE_DIRECTORY文档建议它不打算以这种方式使用,所以我宁可怀疑你所问的是可能的。如果你想得到一个权威的答案,你可以通过[email protected]联系CMake开发人员(他们实际上很好处理)。

我反对使用通配符来指定什么是包含在构建强烈推荐。构建文件应该指定库的确切内容,而不取决于目录中存在的内容。它一开始可能很麻烦(如果你使用通配符,或IDE的其中的工作方式相同),但是,当你习惯了它,你不希望有任何其他的方式。