c++ - 如何从 CMakeLists.txt 生成 cscope.files

标签 c++ c cmake cscope

我正在使用 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/

相关文章:

c++ - 编译 ROS ORB_SLAM2 时 undefined reference

c++ - Qt/CMake : missing ':' before identifier 'slots' `

C++ Armadillo : nearest neighbour

c++ - 虚幻引擎因 AddDynamic 而崩溃

c - C 中的中断

c++ - 我可以检查缓存中是否有一 block 内存(例如,使用 malloc 分配)吗?

c++ - cmake target_link_libraries()启动错误无法为目标指定链接库 "debug"

c++ - 无法在 openGL 片段着色器中正确检索 16 位整数

c++ - 比较文件中的字符串

c - 程序运行不符合我的预期