1CMAKE_SYSTEM_PREFIX_PATH
2------------------------
3
4:ref:`Semicolon-separated list <CMake Language Lists>` of directories specifying installation
5*prefixes* to be searched by the :command:`find_package`,
6:command:`find_program`, :command:`find_library`, :command:`find_file`, and
7:command:`find_path` commands.  Each command will add appropriate
8subdirectories (like ``bin``, ``lib``, or ``include``) as specified in its own
9documentation.
10
11By default this contains the system directories for the current system, the
12:variable:`CMAKE_INSTALL_PREFIX`, and the :variable:`CMAKE_STAGING_PREFIX`.
13The installation and staging prefixes may be excluded by setting
14the :variable:`CMAKE_FIND_NO_INSTALL_PREFIX` variable.
15
16The system directories that are contained in ``CMAKE_SYSTEM_PREFIX_PATH`` are
17locations that typically include installed software. An example being
18``/usr/local`` for UNIX based platforms. In addition to standard platform
19locations, CMake will also add values to ``CMAKE_SYSTEM_PREFIX_PATH`` based on
20environment variables. The environment variables and search locations that
21CMake uses may evolve over time, as platforms and their conventions also
22evolve. The following provides an indicative list of environment variables
23and locations that CMake searches, but they are subject to change:
24
25
26CrayLinuxEnvironment:
27  * ``ENV{SYSROOT_DIR}/``
28  * ``ENV{SYSROOT_DIR}/usr``
29  * ``ENV{SYSROOT_DIR}/usr/local``
30
31Darwin:
32  * ``ENV{SDKROOT}/usr`` When ``CMAKE_OSX_SYSROOT`` is not explicitly specified.
33
34OpenBSD:
35  * ``ENV{LOCALBASE}``
36
37Unix:
38  * ``ENV{CONDA_PREFIX}`` when using a conda compiler
39
40Windows:
41  * ``ENV{ProgramW6432}``
42  * ``ENV{ProgramFiles}``
43  * ``ENV{ProgramFiles(x86)}``
44  * ``ENV{SystemDrive}/Program Files``
45  * ``ENV{SystemDrive}/Program Files (x86)``
46
47
48``CMAKE_SYSTEM_PREFIX_PATH`` is *not* intended to be modified by the project;
49use :variable:`CMAKE_PREFIX_PATH` for this.
50
51See also :variable:`CMAKE_SYSTEM_INCLUDE_PATH`,
52:variable:`CMAKE_SYSTEM_LIBRARY_PATH`, :variable:`CMAKE_SYSTEM_PROGRAM_PATH`,
53and :variable:`CMAKE_SYSTEM_IGNORE_PATH`.
54