2013-04-30 8 views
5

Cố gắng để có được find_path để làm những gì tôi muốn.Cách xóa/xóa biến bộ nhớ cache

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

help.h được tìm thấy. Đầu ra là temmp= /usr/local/toolA

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

foo.shoe không tồn tại (không tìm thấy). Đầu ra là temmp= /usr/local/toolA Biến bộ nhớ cache tồn tại, do đó biến (temmp) bị ảnh hưởng.

tôi cố gắng và xóa bộ nhớ cache var với điều này:

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

Không có thay đổi. Biến được xóa, nhưng vẫn tồn tại. Đầu ra là temmp= (find_path không chạy.)

Làm cách nào để xóa biến số temmp khỏi bộ nhớ cache? (Tôi muốn buộc các find_path chạy lại.)

Trả lời

9

Bạn có thể sử dụng unset:

unset(temmp CACHE) 

Là một sang một bên, find_path cuộc gọi nên được nhiều hơn như:

find_path(temmp help.h include)