一次清除所有 Cmake 变量

Sal*_*ore 1 c++ cmake

是否有任何命令可以放在 CMakeLists.txt 文件中以清除所有已定义的变量?如果我理解得很好,我可以有选择地清除它们对每个变量有选择地“取消设置”,但我需要做一些更像“取消设置(*)”的事情。

Mue*_*ito 5

您可以像这样取消设置所有变量:

get_cmake_property(_variableNames VARIABLES)
foreach (_variableName ${_variableNames})
    unset(${_variableName})
endforeach()
Run Code Online (Sandbox Code Playgroud)

这实质上是获取全局范围内的所有变量并调用unset它们。正如@'Someprogrammer dude' 所指出的,不推荐这样做,并且可能会导致 CMake 停止正常运行。