【发布时间】:2010-09-21 12:15:35
【问题描述】:
我将如何拥有一个 CMake 构建系统,它现在使用 AUX_SOURCE_DIRECTORY 扫描源文件,也在同一目录中扫描头文件,最好使用类似的命令?
我还没有在文档中找到一种简单的方法来执行此操作,所以我现在有一个糟糕的 bash 脚本来对我的 (CodeBlocks) 项目文件进行后处理...
【问题讨论】:
标签: build-process cmake codeblocks
我将如何拥有一个 CMake 构建系统,它现在使用 AUX_SOURCE_DIRECTORY 扫描源文件,也在同一目录中扫描头文件,最好使用类似的命令?
我还没有在文档中找到一种简单的方法来执行此操作,所以我现在有一个糟糕的 bash 脚本来对我的 (CodeBlocks) 项目文件进行后处理...
【问题讨论】:
标签: build-process cmake codeblocks
您可以使用 file(GLOB ... ) 命令。例如:
set(dir my_search_dir)
file (GLOB headers "${dir}/*.h")
message("My headers: " ${headers})
此命令还可以递归并列出相对于给定路径的文件。请参阅 cmake 文档中的 "file" command entry 。
【讨论】:
AUX_SOURCE_DIRECTORY 的文档表明它不打算以这种方式使用,所以我宁愿怀疑你所问的是否可能。如果您想要一个权威的答案,您可以通过 cmake@cmake.org 联系 CMake 开发人员(他们实际上非常好相处)。
我强烈建议不要使用通配符来指定构建中包含的内容。构建文件应该指定库的确切内容,而不是依赖于目录中发生的情况。一开始可能会很麻烦(如果您习惯了通配符,或者工作方式相同的 IDE),但是当您习惯了它时,您就不想用其他方式了。
【讨论】: