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
ENV{SDKROOT}/usr
当CMAKE_OSX_SYSROOT
未明确指定时。
- OpenBSD
ENV{LOCALBASE}
- Unix
ENV{CONDA_PREFIX}
使用 conda 编译器时
- MSYSTEM 环境,使用 MinGW 工具链
版本 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
。