CMAKE_FIND_NO_INSTALL_PREFIX

CMAKE_INSTALL_PREFIXCMAKE_STAGING_PREFIX 变量中排除 CMAKE_SYSTEM_PREFIX_PATH 的值。 为了支持构建一系列依赖包并将它们安装到通用前缀中,CMake 默认将这些项目目标前缀添加到 CMAKE_SYSTEM_PREFIX_PATH 中。 设置 CMAKE_FIND_NO_INSTALL_PREFIXTRUE 以抑制此行为。

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

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