2013-04-30 37 views
5

Der Versuch, zu bekommen, was ich will.So löschen/löschen Sie eine Cache-Variable

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

help.h gefunden. Der Ausgang temmp= /usr/local/toolA

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

foo.shoe ist nicht vorhanden (nicht gefunden). Die Ausgabe ist temmp= /usr/local/toolA Die Cache-Variable existiert, so dass die Variable (tempm) unberührt ist.

ich versuchen, den Cache var mit dieser klaren:

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

Keine Änderung. Die Variable ist gelöscht, aber noch vorhanden. Der Ausgang ist temmp= (find_path nicht ausgeführt.)

Wie kann ich die temmp Variable aus dem Cache löschen? (Ich möchte die find_path zwingen, wieder zu laufen.)

Antwort

9

Sie unset verwenden können:

unset(temmp CACHE) 

Als Nebenwirkung, die find_path Anrufe sollten mehr sein wie:

find_path(temmp help.h include)