2017-02-21 86 views
0

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

+3

类似这样的事情会很危险,因为“清除所有***”包含不应清除的系统变量。通过“清除所有变量”,您试图解决什么问题? –

+0

我应该在问题中提到“清除除系统变量之外的所有变量” – salvo

回答

3

可以取消设置所有变量是这样的:

get_cmake_property(_variableNames VARIABLES) 
foreach (_variableName ${_variableNames}) 
    unset(${_variableName}) 
endforeach() 

这基本上得到所有的变量在全球范围,他们呼吁unset。正如@“一些程序员家伙”指出的那样,这不被推荐,并且可能会导致CMake停止正常运行。