cmake两种变量详解

cmake有两种变量:normal和cache。参考官网说明, modern cmake

  • normal就是我们普通使用的变量,比如set(VAR "xyz")
  • cache是cmake缓存的变量,比如cmake -D定义的变量,通常这些变量会存在CMakeCache.txt里面,第一次跑cmake的时候会生成这个文件
  • 两种变量可以同名,当变量${VAR}展开时,cmake会先尝试去查找normal变量,如果没找到定义则会去使用cache变量里查找。
  • 可以使用set(VAR "xyz" CACHE STRINGH "this is a comment of VAR")设置一个Cache变量。注意,这条指令并不会直接将VAR赋值成"xyz",而是去查找是否已经有名字为VAR的Cache变量,如果已经存在了则不会产生任何影响,如果不存在才会创建这个Cache 变量。如果想要强制将其值设置成"xyz",可以在最后加FORCE参数set(VAR "xyz" CACHE STRINGH "this is a comment of VAR" FORCE)

你可能感兴趣的:(程序员自我修养)