如何使用CMake构建系统,该系统现在使用 AUX_SOURCE_DIRECTORY ,也在同一目录中扫描头文件,最好使用类似的命令?

我还没有在文档中找到一种简单的方法,所以我现在有一个糟糕的bash脚本来后处理我的(CodeBlocks)项目文件......

有帮助吗?

解决方案

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

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

此命令也可以递归,并列出相对于给定路径的文件。请参阅“文件”。 cmake doc中的命令输入

其他提示

AUX_SOURCE_DIRECTORY的文档表明它不打算以这种方式使用,所以我更怀疑你问的是可能的。如果您需要权威答案,可以通过cmake@cmake.org与CMake开发人员联系(他们实际上非常乐意处理)。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top