如何使用已执行的包含命令和适当的包含代码查看CMakeLists.txt文件?
示例:想象一个具有多个包含的CMakeLists.txt,如下所示:
include(version)
include(options)
include(programs)
include(settings)
include(stuff)
// etc..
在处理CMakeLists.txt中的所有包含之后,是否可以生成并查看组合结果? Ty:^)
答案 0 :(得分:4)
最简单的方法是使用--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胆量中发生了很多事情。