CMAKE_SYSTEM_PREFIX_PATH¶
分号分隔列表,指定 find_package()
、 find_program()
、 find_library()
、 find_file()
和 find_path()
命令搜索的安装前缀目录。每个命令将添加适当的子目录(如 bin
、 lib
或 include
),具体在其自身的文档中指定。
默认情况下,这包含当前系统的系统目录、 CMAKE_INSTALL_PREFIX
和 CMAKE_STAGING_PREFIX
。可以通过在首次调用 project()
之前设置 CMAKE_FIND_NO_INSTALL_PREFIX
变量来排除安装和暂存前缀。
CMAKE_SYSTEM_PREFIX_PATH
中包含的系统目录是通常包含已安装软件的位置。例如,基于 UNIX 平台的 /usr/local
。除了标准平台位置外,CMake 还会根据环境变量向 CMAKE_SYSTEM_PREFIX_PATH
添加值。CMake 使用的环境变量和搜索位置可能会随着平台及其约定而发展。以下提供了 CMake 搜索的环境变量和位置的指示性列表,但它们可能会发生变化
- CrayLinuxEnvironment
ENV{SYSROOT_DIR}/
ENV{SYSROOT_DIR}/usr
ENV{SYSROOT_DIR}/usr/local
- Darwin
当没有显式指定
CMAKE_OSX_SYSROOT
时,ENV{SDKROOT}/usr
。
- OpenBSD
ENV{LOCALBASE}
- Unix
当使用 conda 编译器时,
ENV{CONDA_PREFIX}
- 使用 MinGW 工具链的 MSYSTEM 环境
在 3.28 版本中添加。
ENV{MSYSTEM_PREFIX}/local
ENV{MSYSTEM_PREFIX}
- Windows
ENV{ProgramW6432}
ENV{ProgramFiles}
ENV{ProgramFiles(x86)}
ENV{SystemDrive}/Program Files
ENV{SystemDrive}/Program Files (x86)
CMAKE_SYSTEM_PREFIX_PATH
不 打算由项目修改;请为此使用 CMAKE_PREFIX_PATH
。
另请参阅 CMAKE_SYSTEM_INCLUDE_PATH
、 CMAKE_SYSTEM_LIBRARY_PATH
、 CMAKE_SYSTEM_PROGRAM_PATH
和 CMAKE_SYSTEM_IGNORE_PATH
。