【发布时间】:2018-05-07 07:59:16
【问题描述】:
我想要一个命令或选项来列出当前构建配置的所有修改的缓存变量。虽然cmake -L[AH] 很好,但它也很让人难以抗拒,并且没有显示哪些是非默认值。
似乎有一个变量属性MODIFIED 听起来与我正在寻找的完全一样 - 但文档并不是很让人放心:
内部管理属性。 请勿设置或获取。 这是由 CMake 管理的内部缓存条目属性,用于跟踪条目的交互式用户修改。 忽略它。
这个问题也没有帮助:CMAKE: Print out all accessible variables in a script
【问题讨论】:
-
您只能检查脚本本身内部发生的变化(类似于this)。
-
我主要想检查顶级用户修改变量。例如
CMAKE_BUILD_TYPE。如果默认情况下这是Release,那么当当前构建配置为Debug时,我希望看到一条信息消息 - 而不会看到所有其他 20 个未修改的可用变量。 -
为什么不添加 if 语句来根据变量值运行代码?您知道默认值是什么,如果变量不是默认值,则用户必须将其设置为其他值。为什么在知道默认值的情况下还需要检查它是否被修改?要么是默认的,要么是被修改的……
标签: cmake