| CMAKE_SYSTEM_PREFIX_PATH |
| ------------------------ |
| |
| :ref:`Semicolon-separated list <CMake Language Lists>` of directories specifying installation |
| *prefixes* to be searched by the :command:`find_package`, |
| :command:`find_program`, :command:`find_library`, :command:`find_file`, and |
| :command:`find_path` commands. Each command will add appropriate |
| subdirectories (like ``bin``, ``lib``, or ``include``) as specified in its own |
| documentation. |
| |
| By default this contains the system directories for the current system, the |
| :variable:`CMAKE_INSTALL_PREFIX`, and the :variable:`CMAKE_STAGING_PREFIX`. |
| The installation and staging prefixes may be excluded by setting |
| the :variable:`CMAKE_FIND_NO_INSTALL_PREFIX` variable before the |
| first :command:`project` invocation. |
| |
| The system directories that are contained in ``CMAKE_SYSTEM_PREFIX_PATH`` are |
| locations that typically include installed software. An example being |
| ``/usr/local`` for UNIX based platforms. In addition to standard platform |
| locations, CMake will also add values to ``CMAKE_SYSTEM_PREFIX_PATH`` based on |
| environment variables. The environment variables and search locations that |
| CMake uses may evolve over time, as platforms and their conventions also |
| evolve. The following provides an indicative list of environment variables |
| and locations that CMake searches, but they are subject to change: |
| |
| |
| CrayLinuxEnvironment: |
| * ``ENV{SYSROOT_DIR}/`` |
| * ``ENV{SYSROOT_DIR}/usr`` |
| * ``ENV{SYSROOT_DIR}/usr/local`` |
| |
| Darwin: |
| * ``ENV{SDKROOT}/usr`` When ``CMAKE_OSX_SYSROOT`` is not explicitly specified. |
| |
| OpenBSD: |
| * ``ENV{LOCALBASE}`` |
| |
| Unix: |
| * ``ENV{CONDA_PREFIX}`` when using a conda compiler |
| |
| Windows: |
| * ``ENV{ProgramW6432}`` |
| * ``ENV{ProgramFiles}`` |
| * ``ENV{ProgramFiles(x86)}`` |
| * ``ENV{SystemDrive}/Program Files`` |
| * ``ENV{SystemDrive}/Program Files (x86)`` |
| |
| |
| ``CMAKE_SYSTEM_PREFIX_PATH`` is *not* intended to be modified by the project; |
| use :variable:`CMAKE_PREFIX_PATH` for this. |
| |
| See also :variable:`CMAKE_SYSTEM_INCLUDE_PATH`, |
| :variable:`CMAKE_SYSTEM_LIBRARY_PATH`, :variable:`CMAKE_SYSTEM_PROGRAM_PATH`, |
| and :variable:`CMAKE_SYSTEM_IGNORE_PATH`. |