我想在配置时列出我可以使用-D
设置的内容,例如ccmake
或cmake-gui
,但是非交互式。
除了尝试捕获ccmake
的输出或自己解析cmake的文件外,我该怎么做?
答案 0 :(得分:2)
您可以在二进制输出目录中调用以下内容:
cmake -LH .
-L[A][H]
列出非高级缓存变量。列表缓存变量将运行CMake并列出CMake缓存中未标记为
INTERNAL
或ADVANCED
的所有变量。这将有效地显示当前的CMake设置,然后可以使用-D
选项进行更改。更改某些变量可能会导致创建更多变量。如果指定了
A
,那么它也会显示高级变量。如果指定了
H
,它还会显示每个变量的帮助。
答案 1 :(得分:0)
如果要列出CMakeLists.txt
文件本身的变量,可以迭代目录的CACHE_VARIABLES属性。
对于每个缓存变量,您可以检查其TYPE(使用get_property(CACHE)
)。类型
对应变量,适合用户调整。
您也可以检查缓存变量的ADVANCED属性。