如何查看 CMakeLists.txt 文件并执行 include 命令,并包含适当的代码?
示例:想象一个包含多个包含的 CMakeLists.txt,如下所示:
include(version)
include(options)
include(programs)
include(settings)
include(stuff)
// etc..
CMakeLists.txt中的include全部处理完后,是否可以生成并查看拼装结果?泰:^)
最佳答案
最简单的方法是使用--trace
或 --trace-expand
旗帜。
他们俩都做cmake
将它执行的每一行打印到 stderr 中。
对于 --trace
它在读取1 时打印行,对于--trace-expand
所有变量首先展开。
我通常以调用重定向 stderr 到 cmake.log
结束文件:
cmake . --trace-expand 2> cmake.log
如果输出对于您的需要来说太长2,您可以尝试使用--trace-source=<file>
来减少它。 .
摘自 --help
: Trace only this CMake file/module. Multiple options allowed.
1 引号 ""
有时会丢失。
2 真的很长...第一次通过几乎是空的项目会产生 14k+ 行日志。连续调用才500+。 CMake 内部发生了很多事情。
关于c++ - cmake3 - 如何处理 CMakeLists.txt 包含命令和查看结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56464122/