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}/usrENV{SYSROOT_DIR}/usr/local
- Darwin
ENV{SDKROOT}/usr当CMAKE_OSX_SYSROOT未显式指定时。
- OpenBSD
ENV{LOCALBASE}
- Unix
ENV{CONDA_PREFIX}使用 conda 编译器时
- MSYSTEM 环境,带有 MinGW 工具链
版本 3.28 新增。
ENV{MSYSTEM_PREFIX}/localENV{MSYSTEM_PREFIX}
- Windows
ENV{ProgramW6432}ENV{ProgramFiles}ENV{ProgramFiles(x86)}ENV{SystemDrive}/Program FilesENV{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。