CMAKE_SYSTEM_PREFIX_PATH¶
分号分隔的列表 目录指定安装 prefixes 由:command:find_package, find_program(), find_library(), :command: find_file 和 find_path() 命令。每个命令将添加其自己的文档中指定的适当子目录(如 bin、lib 或 include)。
默认情况下,这包含当前系统的系统目录、CMAKE_INSTALL_PREFIX 和 CMAKE_STAGING_PREFIX。安装和暂存前缀可以通过在第一次 project() 调用之前设置 CMAKE_FIND_NO_INSTALL_PREFIX 变量来排除。
包含在“CMAKE_SYSTEM_PREFIX_PATH”中的系统目录是通常包含已安装软件的位置。一个例子是 /usr/local 用于基于 UNIX 的平台。除了标准平台位置外,CMake 还将根据环境变量向 CMAKE_SYSTEM_PREFIX_PATH 添加值。随着平台及其约定的发展,CMake 使用的环境变量和搜索位置可能会随着时间的推移而发展。以下提供了 CMake 搜索的环境变量和位置的指示性列表,但它们可能会发生变化:
- CrayLinux环境:
ENV{SYSROOT_DIR}/ENV{SYSROOT_DIR}/usrENV{SYSROOT_DIR}/usr/local
- 达尔文:
ENV{SDKROOT}/usr未明确指定CMAKE_OSX_SYSROOT时。
- 打开BSD:
ENV{LOCALBASE}
- Unix:
ENV{CONDA_PREFIX}使用 conda 编译器时
- 视窗:
ENV{ProgramW6432}ENV{ProgramFiles}ENV{ProgramFiles(x86)}ENV{SystemDrive}/程序文件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。