CMAKE_DISABLE_FIND_PACKAGE_<PackageName>¶
禁用 find_package()
调用的变量。
项目中的每个非-REQUIRED
find_package()
调用都可通过将变量 CMAKE_DISABLE_FIND_PACKAGE_<PackageName>
设置为 TRUE
而禁用。即使已安装了某个包,也可以用此方法在不使用该包的情况下构建项目。
应该在初始 CMake 运行期间使用此开关。否则,如果在之前的 CMake 运行中已找到该包,则存储在缓存中的变量仍会保留在其中。在这种情况下,建议使用缓存编辑器或 cmake -U
从缓存中删除此包的缓存变量。
请注意,此变量可能导致项目中出现不一致的结果。考虑这样一个情况:某个依赖项是通过 find_package()
请求的,请求来自项目中的两个不同位置。如果第一个调用没有 REQUIRED
关键词,则当 CMAKE_DISABLE_FIND_PACKAGE_<PackageName>
被设置为 true 时,它将找不到该依赖项。项目将假定该依赖项不可用继续运行。如果项目中其他地方的第二个调用确实具有 REQUIRED
关键词,它可能会继续运行。同一个项目的两个不同部分随后会看到对同一依赖项的不同结果。