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。