CMAKE_FIND_NO_INSTALL_PREFIX

CMAKE_INSTALL_PREFIXCMAKE_STAGING_PREFIX 变量中排除 CMAKE_SYSTEM_PREFIX_PATH 的值。默认情况下,CMake 会向 CMAKE_SYSTEM_PREFIX_PATH 中添加这些项目目标前缀,以支持构建一系列从属软件包并将其安装到一个公共前缀中。将 CMAKE_FIND_NO_INSTALL_PREFIX 设置为 TRUE 以阻止此行为。

在首次调用 project()enable_language() 命令时,对 CMAKE_SYSTEM_PREFIX_PATH 进行初始化。因此,必须在此之前设置 CMAKE_FIND_NO_INSTALL_PREFIX 才能生效。用户可以在命令行上将变量设置为缓存项来实现此目的。

请注意,仍有可能出于其他原因对前缀进行搜索,例如与 CMake 安装使用相同的前缀,或作为内置系统前缀。