c/c++语言开发共享如何从CMakeLists.txt生成cscope.files

我正在使用CMake构建我的代码。 CMakeLists.txt包含所有.C或.CPP文件和所有包含目录的列表。

我如何实现CMakeLists.txt,以便我可以为我生成一个make选项,包含所有.C和.CPP(或.CXX)文件的列表以及include目录中的所有.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调用仅在结果与其当前内容不同时才更新输出文件。

    您可以通过添加类似以下内容的方式在每次运行CMake时生成文件:(这假设您当前的文件列表位于2个变量中,称为SourceFilesHeaderFiles

     set(AllFiles ${SourceFiles} ${HeaderFiles}) string(REPLACE ";" "n" AllFiles "${AllFiles}") file(WRITE ${CMAKE_BINARY_DIR}/cscope.files "${AllFiles}") 

      以上就是c/c++开发分享如何从CMakeLists.txt生成cscope.files相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(计算机技术网)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ctvol.com/c-cdevelopment/559942.html

      (0)
      上一篇 2021年1月27日
      下一篇 2021年1月27日

      精彩推荐