CMAKE:在脚本中打印所有可访问的variables
我想知道是否有办法打印出CMAKE中所有可访问的variables。 我对CMAKEvariables不感兴趣,就像在–help-variables选项中一样。 我正在谈论我定义的variables,或者包含脚本定义的variables。
我目前包括
INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)
并希望能打印出所有这些variables,而不是去查看所有的文件,看看有什么可用的东西 – 我可能会发现一些我不知道的variables可能是有用的。 这将有助于学习和发现。 这是严格的debugging/开发。
类似的问题在打印所有本地variables可访问的Lua当前范围,但cmake!
有没有人做过这个?
使用get_cmake_property函数,以下循环将打印出所有定义的CMakevariables及其值:
get_cmake_property(_variableNames VARIABLES) foreach (_variableName ${_variableNames}) message(STATUS "${_variableName}=${${_variableName}}") endforeach()
要打印环境variables,请使用cmake的命令模式 :
execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "environment")
另一种方法是简单地使用:
cmake -LAH
从手册:
-L[A][H]
列出非高级的cachingvariables。
列表cachingvariables将运行CMake并列出CMakecaching中未标记为INTERNAL或ADVANCED的所有variables。 这将有效地显示当前CMake设置[…]。
如果指定了A,那么它将显示高级variables。
如果指定了H,它也将显示每个variables的帮助。
ccmake
是交互式地检查cachingvariables( option(
或set( CACHE
:
sudo apt-get install cmake-curses-gui mkdir build cd build cmake .. ccmake ..