如何清除/删除缓存变量

时间:2013-04-30 20:57:06

标签: cmake

试图让find_path做我想做的事。

find_path(temmp include/help.h)
message("temmp= ${temmp}")
找到了

help.h。输出为temmp= /usr/local/toolA

find_path(temmp include/foo.shoe)
message("temmp= ${temmp}")

foo.shoe不存在(找不到)。输出为temmp= /usr/local/toolA 缓存变量存在,因此变量(temmp)不受影响。

我尝试用以下方法清除缓存var:

set (temmp "" CACHE INTERNAL "")
find_path(temmp include/help.h)
message("temmp= ${temmp}")

没有变化。变量已清除,但仍然存在。输出为temmp=find_path没有运行。)

如何从缓存中删除temmp变量? (我想强制find_path再次运行。)

1 个答案:

答案 0 :(得分:12)

您可以使用unset

unset(temmp CACHE)

另外,find_path来电应该更像:

find_path(temmp help.h include)