首页 > 解决方案 > unset() 不会取消设置 CMake 变量

问题描述

使用 CMake 3.5.1 using catkin_make,它将许多makefile合并在一起,我有:

message("${HDF5_FOUND}")
unset(HDF5_FOUND)
message("${HDF5_FOUND}")

我在一个地方得到了相当出乎意料的结果:

1
1

而在另一个子CMakeLists.txt

TRUE
1

如果我单独运行顶级 make,我会看到以下预期结果:

   <-- nothing
   <-- nothing

在子制作中:

TRUE
   <-- nothing

如果我set(HDF5_FOUND FALSE)改用,我会得到预期的结果。缓存在CMake做什么,我该如何解决?

标签: cmake

解决方案


推荐阅读