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
當使用 conda 編譯器時的
ENV{CONDA_PREFIX}
- 具有 MinGW 工具鏈的 MSYSTEM 環境
在 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
。