试图find_path做我想做的事.
find_path(temmp include/help.h)
message("temmp= ${temmp}")
Run Code Online (Sandbox Code Playgroud)
找到help.h.输出是 temmp= /usr/local/toolA
find_path(temmp include/foo.shoe)
message("temmp= ${temmp}")
Run Code Online (Sandbox Code Playgroud)
foo.shoe不存在(未找到).输出是temmp= /usr/local/toolA
缓存变量存在,因此变量(temmp)是不变的.
我尝试用以下方法清除缓存var:
set (temmp "" CACHE INTERNAL "")
find_path(temmp include/help.h)
message("temmp= ${temmp}")
Run Code Online (Sandbox Code Playgroud)
没变.变量已清除,但仍然存在.输出是temmp=
(find_path不运行.)
如何temmp从缓存中删除变量?(我想强迫它find_path再次运行.)
Fra*_*ser 14
你可以使用unset:
unset(temmp CACHE)
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这些find_path电话应该更像是:
find_path(temmp help.h include)
Run Code Online (Sandbox Code Playgroud)