我正在使用 CMake 来构建我的代码。 CMakeLists.txt 包含所有 .C 或 .CPP 文件以及所有包含目录的列表。
如何实现 CMakeLists.txt,以便我可以使用 make
选项为我生成包含所有 .C 和 .CPP(或 .CXX)文件列表的 cscope.files 以及还有其中包含目录中的所有 .h 文件吗?
例如我应该能够运行 make cscopefiles
并且它会为我生成 cscope.files。
或者已经有这样的选项了吗?
最佳答案
您还可以通过 configure_file 调用扩展 Fraser 的答案,因此最终文件仅在其内容更改时才会更改。
file(WRITE
${CMAKE_BINARY_DIR}/cscope.files.in
"${AllFiles}")
configure_file(
${CMAKE_BINARY_DIR}/cscope.files.in
${CMAKE_BINARY_DIR}/cscope.files
COPYONLY)
如果其他东西(自定义命令)依赖于 cscope.files 输出文件,这可以帮助最大限度地减少增量重建。仅当结果与其当前内容不同时,configure_file 调用才会更新输出文件。
关于c++ - 如何从 CMakeLists.txt 生成 cscope.files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15175955/