阅读背景:

CMake中的两种变量(Variable types in CMake)

来源:互联网 

  在CMake中存在两种变量:normal variables and cache varialbes .正常变量就像是脚本内部变量,相当于程序设计中定义的局部变量那样。而CMakeLists.txt相当于一个函数,第一个执行的CMakeLists.txt相当于主函数。所以正常变量。不能跨越CMakeLists.txt文件(they are not persisted across CMake runs)。cache变量如果在set中设置成了INTERNAL,那么它与正常变量是一样的效果,就是两个CMakeLists.txt内部定义的变量不能共享(前提是这两个CMakeLists.txt之间没有包含关系,比如在src中有一个CMakeLIsts.txt在inc中有一个CMakeLists.txt ),也就是局部变量的作用仅仅在函数内部一样的效果,而正常变量的作用域仅在当前的CMakeLists.txt中。如果cache没有被设置成INTERNAL,那么相当于全局变量。都是在第一个执行的CMakeLists.txt中设置好的,当然可以在被包含的子CMakeLists.txt中修改cache值,此时也会影响父/主的CMakeLists.txt,这个变量用来配置整个工程的,配置好后会对整个工程适用。  在CMake中存在两种变量:normal variables and cache vari




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: