CMAKE_SYSTEM_PREFIX_PATH

分号分隔的列表 目录指定安装 prefixes 由:command:find_package, find_program(), find_library(), :command: find_filefind_path() 命令。每个命令将添加其自己的文档中指定的适当子目录(如 binlibinclude)。

默认情况下,这包含当前系统的系统目录、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}/usr

  • ENV{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_PATHCMAKE_SYSTEM_LIBRARY_PATHCMAKE_SYSTEM_PROGRAM_PATHCMAKE_SYSTEM_IGNORE_PATH