CMAKE_SYSTEM_PREFIX_PATHΒΆ
Semicolon-separated list of directories specifying installation
prefixes to be searched by the find_package()
,
find_program()
, find_library()
, find_file()
, and
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
CMAKE_INSTALL_PREFIX
, and the CMAKE_STAGING_PREFIX
.
The installation and staging prefixes may be excluded by setting
the CMAKE_FIND_NO_INSTALL_PREFIX
variable before the
first 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
WhenCMAKE_OSX_SYSROOT
is not explicitly specified.
- OpenBSD:
ENV{LOCALBASE}
- Unix:
ENV{CONDA_PREFIX}
when using a conda compiler
- MSYSTEM environment with MinGW toolchain:
New in version 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
is not intended to be modified by the project;
use CMAKE_PREFIX_PATH
for this.
See also CMAKE_SYSTEM_INCLUDE_PATH
,
CMAKE_SYSTEM_LIBRARY_PATH
, CMAKE_SYSTEM_PROGRAM_PATH
,
and CMAKE_SYSTEM_IGNORE_PATH
.