blob: c6ff29c306ec696cf5ebc6744c9cc0272cfd2e45 [file] [log] [blame]
.\" Man page generated from reStructuredText.
.
.TH "CMAKE-ENV-VARIABLES" "7" "Apr 12, 2022" "3.23.1" "CMake"
.SH NAME
cmake-env-variables \- CMake Environment Variables Reference
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
This page lists environment variables that have special
meaning to CMake.
.sp
For general information on environment variables, see the
Environment Variables
section in the cmake\-language manual.
.SH ENVIRONMENT VARIABLES THAT CHANGE BEHAVIOR
.SS CMAKE_PREFIX_PATH
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
The \fBCMAKE_PREFIX_PATH\fP environment variable may be set to a list of
directories specifying installation \fIprefixes\fP to be searched by the
\fBfind_package()\fP, \fBfind_program()\fP, \fBfind_library()\fP,
\fBfind_file()\fP, and \fBfind_path()\fP commands. Each command will
add appropriate subdirectories (like \fBbin\fP, \fBlib\fP, or \fBinclude\fP)
as specified in its own documentation.
.sp
This variable may hold a single prefix or a list of prefixes separated
by \fB:\fP on UNIX or \fB;\fP on Windows (the same as the \fBPATH\fP environment
variable convention on those platforms).
.sp
See also the \fBCMAKE_PREFIX_PATH\fP CMake variable.
.SH ENVIRONMENT VARIABLES THAT CONTROL THE BUILD
.SS CMAKE_APPLE_SILICON_PROCESSOR
.sp
New in version 3.19.2.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
On Apple Silicon hosts running macOS, set this environment variable to tell
CMake what architecture to use for \fBCMAKE_HOST_SYSTEM_PROCESSOR\fP\&.
The value must be either \fBarm64\fP or \fBx86_64\fP\&.
.sp
The \fBCMAKE_APPLE_SILICON_PROCESSOR\fP normal variable, if set,
overrides this environment variable.
.SS CMAKE_BUILD_PARALLEL_LEVEL
.sp
New in version 3.12.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Specifies the maximum number of concurrent processes to use when building
using the \fBcmake \-\-build\fP command line
Build Tool Mode\&.
.sp
If this variable is defined empty the native build tool\(aqs default number is
used.
.SS CMAKE_BUILD_TYPE
.sp
New in version 3.22.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
The \fBCMAKE_BUILD_TYPE\fP environment variable specifies a default value
for the \fBCMAKE_BUILD_TYPE\fP variable when there is no explicit
configuration given on the first run while creating a new build tree.
.SS CMAKE_CONFIGURATION_TYPES
.sp
New in version 3.22.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
The \fBCMAKE_CONFIGURATION_TYPES\fP environment variable specifies a
default value for the \fBCMAKE_CONFIGURATION_TYPES\fP variable
when there is no explicit configuration given on the first run while
creating a new build tree.
.SS CMAKE_CONFIG_TYPE
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
The default build configuration for Build Tool Mode and
\fBctest\fP build handler when there is no explicit configuration given.
.SS CMAKE_EXPORT_COMPILE_COMMANDS
.sp
New in version 3.17.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
The default value for \fBCMAKE_EXPORT_COMPILE_COMMANDS\fP when there
is no explicit configuration given on the first run while creating a new
build tree. On later runs in an existing build tree the value persists in
the cache as \fBCMAKE_EXPORT_COMPILE_COMMANDS\fP\&.
.SS CMAKE_GENERATOR
.sp
New in version 3.15.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Specifies the CMake default generator to use when no generator is supplied
with \fB\-G\fP\&. If the provided value doesn\(aqt name a generator known by CMake,
the internal default is used. Either way the resulting generator selection
is stored in the \fBCMAKE_GENERATOR\fP variable.
.sp
Some generators may be additionally configured using the environment
variables:
.INDENT 0.0
.IP \(bu 2
\fBCMAKE_GENERATOR_PLATFORM\fP
.IP \(bu 2
\fBCMAKE_GENERATOR_TOOLSET\fP
.IP \(bu 2
\fBCMAKE_GENERATOR_INSTANCE\fP
.UNINDENT
.SS CMAKE_GENERATOR_INSTANCE
.sp
New in version 3.15.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default value for \fBCMAKE_GENERATOR_INSTANCE\fP if no Cache entry is
present. This value is only applied if \fBCMAKE_GENERATOR\fP is set.
.SS CMAKE_GENERATOR_PLATFORM
.sp
New in version 3.15.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default value for \fBCMAKE_GENERATOR_PLATFORM\fP if no Cache entry
is present and no value is specified by \fBcmake(1)\fP \fB\-A\fP option.
This value is only applied if \fBCMAKE_GENERATOR\fP is set.
.SS CMAKE_GENERATOR_TOOLSET
.sp
New in version 3.15.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default value for \fBCMAKE_GENERATOR_TOOLSET\fP if no Cache entry
is present and no value is specified by \fBcmake(1)\fP \fB\-T\fP option.
This value is only applied if \fBCMAKE_GENERATOR\fP is set.
.SS CMAKE_INSTALL_MODE
.sp
New in version 3.22.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
The \fBCMAKE_INSTALL_MODE\fP environment variable allows users to operate
CMake in an alternate mode of \fBfile(INSTALL)\fP and \fBinstall()\fP\&.
.sp
The default behavior for an installation is to copy a source file from a
source directory into a destination directory. This environment variable
however allows the user to override this behavior, causing CMake to create
symbolic links instead.
.SS Usage Scenarios
.sp
Installing symbolic links rather than copying files can help in the following
ways:
.INDENT 0.0
.IP \(bu 2
Conserving storage space because files do not have to be duplicated on disk.
.IP \(bu 2
Changes to the source of the symbolic link are seen at the install
destination without having to re\-run the install step.
.IP \(bu 2
Editing through the link at the install destination will modify the source
of the link. This may be useful when dealing with CMake project hierarchies,
i.e. using \fBExternalProject\fP and consistent source navigation and
refactoring is desired across projects.
.UNINDENT
.SS Allowed Values
.sp
The following values are allowed for \fBCMAKE_INSTALL_MODE\fP:
.INDENT 0.0
.TP
.B \fBCOPY\fP, empty or unset
Duplicate the file at its destination. This is the default behavior.
.TP
.B \fBABS_SYMLINK\fP
Create an \fIabsolute\fP symbolic link to the source file at the destination.
Halt with an error if the link cannot be created.
.TP
.B \fBABS_SYMLINK_OR_COPY\fP
Like \fBABS_SYMLINK\fP but fall back to silently copying if the symlink
couldn\(aqt be created.
.TP
.B \fBREL_SYMLINK\fP
Create a \fIrelative\fP symbolic link to the source file at the destination.
Halt with an error if the link cannot be created.
.TP
.B \fBREL_SYMLINK_OR_COPY\fP
Like \fBREL_SYMLINK\fP but fall back to silently copying if the symlink
couldn\(aqt be created.
.TP
.B \fBSYMLINK\fP
Try as if through \fBREL_SYMLINK\fP and fall back to \fBABS_SYMLINK\fP if the
referenced file cannot be expressed using a relative path.
Halt with an error if the link cannot be created.
.TP
.B \fBSYMLINK_OR_COPY\fP
Like \fBSYMLINK\fP but fall back to silently copying if the symlink couldn\(aqt
be created.
.UNINDENT
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
A symbolic link consists of a reference file path rather than contents of its
own, hence there are two ways to express the relation, either by a \fIrelative\fP
or an \fIabsolute\fP path.
.UNINDENT
.UNINDENT
.SS When To Set The Environment Variable
.sp
For the environment variable to take effect, it must be set during the correct
build phase(s).
.INDENT 0.0
.IP \(bu 2
If the project calls \fBfile(INSTALL)\fP directly, the environment
variable must be set during the configuration phase.
.IP \(bu 2
In order to apply to \fBinstall()\fP, the environment variable must be
set during installation. This could be during a build if using the
\fBinstall\fP or \fBpackage\fP build targets, or separate from the build when
invoking an install or running \fBcpack\fP from the command
line.
.IP \(bu 2
When using \fBExternalProject\fP, it might be required during the build
phase, since the external project\(aqs own configure, build and install steps
will execute during the main project\(aqs build phase.
.UNINDENT
.sp
Given the above, it is recommended to set the environment variable consistently
across all phases (configure, build and install).
.SS Caveats
.sp
Use this environment variable with caution. The following highlights some
points to be considered:
.INDENT 0.0
.IP \(bu 2
\fBCMAKE_INSTALL_MODE\fP only affects files, not directories.
.IP \(bu 2
Symbolic links are not available on all platforms.
.IP \(bu 2
The way this environment variable interacts with the install step of
\fBExternalProject\fP is more complex. For further details, see that
module\(aqs documentation.
.IP \(bu 2
A symbolic link ties the destination to the source in a persistent way.
Writing to either of the two affects both file system objects.
This is in contrast to normal install behavior which only copies files as
they were at the time the install was performed, with no enduring
relationship between the source and destination of the install.
.IP \(bu 2
Combining \fBCMAKE_INSTALL_MODE\fP with \fBIOS_INSTALL_COMBINED\fP is
not supported.
.IP \(bu 2
Changing \fBCMAKE_INSTALL_MODE\fP from what it was on a previous run can lead
to unexpected results. Moving from a non\-symlinking mode to a symlinking
mode will discard any previous file at the destination, but the reverse is
not true. Once a symlink exists at the destination, even if you switch to a
non\-symlink mode, the symlink will continue to exist at the destination and
will not be replaced by an actual file.
.UNINDENT
.SS CMAKE_<LANG>_COMPILER_LAUNCHER
.sp
New in version 3.17.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default compiler launcher to use for the specified language. Will only be used
by CMake to initialize the variable on the first configuration. Afterwards, it
is available through the cache setting of the variable of the same name. For
any configuration run (including the first), the environment variable will be
ignored if the \fBCMAKE_<LANG>_COMPILER_LAUNCHER\fP variable is defined.
.SS CMAKE_<LANG>_LINKER_LAUNCHER
.sp
New in version 3.21.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default launcher to use when linking a target of the specified language. Will
only be used by CMake to initialize the variable on the first configuration.
Afterwards, it is available through the cache setting of the variable of the
same name. For any configuration run (including the first), the environment
variable will be ignored if the \fBCMAKE_<LANG>_LINKER_LAUNCHER\fP
variable is defined.
.SS CMAKE_MSVCIDE_RUN_PATH
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Extra PATH locations for custom commands when using
\fBVisual Studio 9 2008\fP (or above) generators.
.sp
The \fBCMAKE_MSVCIDE_RUN_PATH\fP environment variable sets the default value for
the \fBCMAKE_MSVCIDE_RUN_PATH\fP variable if not already explicitly set.
.SS CMAKE_NO_VERBOSE
.sp
New in version 3.14.
.sp
Disables verbose output from CMake when \fBVERBOSE\fP environment variable
is set.
.sp
Only your build tool of choice will still print verbose output when you start
to actually build your project.
.SS CMAKE_OSX_ARCHITECTURES
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Target specific architectures for macOS.
.sp
The \fBCMAKE_OSX_ARCHITECTURES\fP environment variable sets the default value for
the \fBCMAKE_OSX_ARCHITECTURES\fP variable. See
\fBOSX_ARCHITECTURES\fP for more information.
.SS CMAKE_TOOLCHAIN_FILE
.sp
New in version 3.21.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
The \fBCMAKE_TOOLCHAIN_FILE\fP environment variable specifies a default value
for the \fBCMAKE_TOOLCHAIN_FILE\fP variable when there is no explicit
configuration given on the first run while creating a new build tree.
On later runs in an existing build tree the value persists in the cache
as \fBCMAKE_TOOLCHAIN_FILE\fP\&.
.SS DESTDIR
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
On UNIX one can use the \fBDESTDIR\fP mechanism in order to relocate the
whole installation. \fBDESTDIR\fP means DESTination DIRectory. It is
commonly used by packagers to install software in a staging directory.
.sp
For example, running
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
make DESTDIR=/package/stage install
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
will install the software using the installation prefix, e.g. \fB/usr/local\fP,
prepended with the \fBDESTDIR\fP value which gives \fB/package/stage/usr/local\fP\&.
The packaging tool may then construct the package from the content of the
\fB/package/stage\fP directory.
.sp
See the \fBCMAKE_INSTALL_PREFIX\fP variable to control the
installation prefix when configuring a build tree. Or, when using
the \fBcmake(1)\fP command\-line tool\(aqs \fB\-\-install\fP mode,
one may specify a different prefix using the \fB\-\-prefix\fP option.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
\fBDESTDIR\fP may not be used on Windows because installation
prefix usually contains a drive letter like in \fBC:/Program Files\fP
which cannot be prepended with some other prefix.
.UNINDENT
.UNINDENT
.SS LDFLAGS
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Will only be used by CMake on the first configuration to determine the default
linker flags, after which the value for \fBLDFLAGS\fP is stored in the cache
as \fBCMAKE_EXE_LINKER_FLAGS_INIT\fP,
\fBCMAKE_SHARED_LINKER_FLAGS_INIT\fP, and
\fBCMAKE_MODULE_LINKER_FLAGS_INIT\fP\&. For any configuration run
(including the first), the environment variable will be ignored if the
equivalent \fBCMAKE_<TYPE>_LINKER_FLAGS_INIT\fP variable is defined.
.SS MACOSX_DEPLOYMENT_TARGET
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Specify the minimum version of macOS on which the target binaries are
to be deployed.
.sp
The \fBMACOSX_DEPLOYMENT_TARGET\fP environment variable sets the default value for
the \fBCMAKE_OSX_DEPLOYMENT_TARGET\fP variable.
.SS <PackageName>_ROOT
.sp
New in version 3.12.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Calls to \fBfind_package(<PackageName>)\fP will search in prefixes
specified by the \fB<PackageName>_ROOT\fP environment variable, where
\fB<PackageName>\fP is the name given to the \fBfind_package()\fP call
and \fB_ROOT\fP is literal. For example, \fBfind_package(Foo)\fP will search
prefixes specified in the \fBFoo_ROOT\fP environment variable (if set).
See policy \fBCMP0074\fP\&.
.sp
This variable may hold a single prefix or a list of prefixes separated
by \fB:\fP on UNIX or \fB;\fP on Windows (the same as the \fBPATH\fP environment
variable convention on those platforms).
.sp
See also the \fB<PackageName>_ROOT\fP CMake variable.
.SS VERBOSE
.sp
New in version 3.14.
.sp
Activates verbose output from CMake and your build tools of choice when
you start to actually build your project.
.sp
Note that any given value is ignored. It\(aqs just checked for existence.
.sp
See also Build Tool Mode and
\fBCMAKE_NO_VERBOSE\fP environment variable
.SH ENVIRONMENT VARIABLES FOR LANGUAGES
.SS ASM<DIALECT>
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling a specific dialect of assembly language
files. \fBASM<DIALECT>\fP can be \fBASM\fP, \fBASM_NASM\fP (Netwide Assembler),
\fBASM_MASM\fP (Microsoft Assembler) or \fBASM\-ATT\fP (Assembler AT&T).
Will only be used by CMake on the first configuration to determine
\fBASM<DIALECT>\fP compiler, after which the value for \fBASM<DIALECT>\fP is stored
in the cache as
\fBCMAKE_ASM<DIALECT>_COMPILER\fP\&. For subsequent
configuration runs, the environment variable will be ignored in favor of
\fBCMAKE_ASM<DIALECT>_COMPILER\fP\&.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
Options that are required to make the compiler work correctly can be included;
they can not be changed.
.UNINDENT
.UNINDENT
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ export ASM="custom\-compiler \-\-arg1 \-\-arg2"
.ft P
.fi
.UNINDENT
.UNINDENT
.SS ASM<DIALECT>FLAGS
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default compilation flags to be used when compiling a specific dialect of an
assembly language. \fBASM<DIALECT>FLAGS\fP can be \fBASMFLAGS\fP, \fBASM_NASMFLAGS\fP,
\fBASM_MASMFLAGS\fP or \fBASM\-ATTFLAGS\fP\&. Will only be used by CMake on the
first configuration to determine \fBASM_<DIALECT>\fP default compilation
flags, after which the value for \fBASM<DIALECT>FLAGS\fP is stored in the cache
as \fBCMAKE_ASM<DIALECT>_FLAGS <CMAKE_<LANG>_FLAGS>\fP\&. For any configuration
run (including the first), the environment variable will be ignored, if the
\fBCMAKE_ASM<DIALECT>_FLAGS <CMAKE_<LANG>_FLAGS>\fP variable is defined.
.sp
See also \fBCMAKE_ASM<DIALECT>_FLAGS_INIT\fP\&.
.SS CC
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling \fBC\fP language files. Will only be used by
CMake on the first configuration to determine \fBC\fP compiler, after which the
value for \fBCC\fP is stored in the cache as
\fBCMAKE_C_COMPILER\fP\&. For any configuration run
(including the first), the environment variable will be ignored if the
\fBCMAKE_C_COMPILER\fP variable is defined.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
Options that are required to make the compiler work correctly can be included;
they can not be changed.
.UNINDENT
.UNINDENT
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ export CC="custom\-compiler \-\-arg1 \-\-arg2"
.ft P
.fi
.UNINDENT
.UNINDENT
.SS CFLAGS
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default compilation flags to be used when compiling \fBC\fP files. Will only be
used by CMake on the first configuration to determine \fBCC\fP default compilation
flags, after which the value for \fBCFLAGS\fP is stored in the cache
as \fBCMAKE_C_FLAGS\fP\&. For any configuration run
(including the first), the environment variable will be ignored if the
\fBCMAKE_C_FLAGS\fP variable is defined.
.sp
See also \fBCMAKE_C_FLAGS_INIT\fP\&.
.SS CSFLAGS
.sp
New in version 3.9.2.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default compilation flags to be used when compiling \fBCSharp\fP files. Will only be
used by CMake on the first configuration to determine \fBCSharp\fP default
compilation flags, after which the value for \fBCSFLAGS\fP is stored in the cache
as \fBCMAKE_CSharp_FLAGS\fP\&. For any configuration
run (including the first), the environment variable will be ignored if the
\fBCMAKE_CSharp_FLAGS\fP variable is defined.
.sp
See also \fBCMAKE_CSharp_FLAGS_INIT\fP\&.
.SS CUDAARCHS
.sp
New in version 3.20.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Value used to initialize \fBCMAKE_CUDA_ARCHITECTURES\fP on the first
configuration. Subsequent runs will use the value stored in the cache.
.sp
This is a semicolon\-separated list of architectures as described in
\fBCUDA_ARCHITECTURES\fP\&.
.SS CUDACXX
.sp
New in version 3.8.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling \fBCUDA\fP language files. Will only be used by
CMake on the first configuration to determine \fBCUDA\fP compiler, after which the
value for \fBCUDA\fP is stored in the cache as
\fBCMAKE_CUDA_COMPILER\fP\&. For any configuration
run (including the first), the environment variable will be ignored if the
\fBCMAKE_CUDA_COMPILER\fP variable is defined.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
Options that are required to make the compiler work correctly can be included;
they can not be changed.
.UNINDENT
.UNINDENT
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ export CUDACXX="custom\-compiler \-\-arg1 \-\-arg2"
.ft P
.fi
.UNINDENT
.UNINDENT
.SS CUDAFLAGS
.sp
New in version 3.8.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default compilation flags to be used when compiling \fBCUDA\fP files. Will only be
used by CMake on the first configuration to determine \fBCUDA\fP default
compilation flags, after which the value for \fBCUDAFLAGS\fP is stored in the
cache as \fBCMAKE_CUDA_FLAGS\fP\&. For any configuration
run (including the first), the environment variable will be ignored if
the \fBCMAKE_CUDA_FLAGS\fP variable is defined.
.sp
See also \fBCMAKE_CUDA_FLAGS_INIT\fP\&.
.SS CUDAHOSTCXX
.sp
New in version 3.8.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling host code when compiling \fBCUDA\fP
language files. Will only be used by CMake on the first configuration to
determine \fBCUDA\fP host compiler, after which the value for \fBCUDAHOSTCXX\fP is
stored in the cache as \fBCMAKE_CUDA_HOST_COMPILER\fP\&. This environment
variable is preferred over \fBCMAKE_CUDA_HOST_COMPILER\fP\&.
.sp
This environment variable is primarily meant for use with projects that
enable \fBCUDA\fP as a first\-class language.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
Ignored when using Visual Studio Generators\&.
.UNINDENT
.UNINDENT
.sp
New in version 3.13: The \fBFindCUDA\fP
module will use this variable to initialize its \fBCUDA_HOST_COMPILER\fP setting.
.SS CXX
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling \fBCXX\fP language files. Will only be used by
CMake on the first configuration to determine \fBCXX\fP compiler, after which the
value for \fBCXX\fP is stored in the cache as
\fBCMAKE_CXX_COMPILER\fP\&. For any configuration
run (including the first), the environment variable will be ignored if the
\fBCMAKE_CXX_COMPILER\fP variable is defined.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
Options that are required to make the compiler work correctly can be included;
they can not be changed.
.UNINDENT
.UNINDENT
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ export CXX="custom\-compiler \-\-arg1 \-\-arg2"
.ft P
.fi
.UNINDENT
.UNINDENT
.SS CXXFLAGS
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default compilation flags to be used when compiling \fBCXX\fP (C++) files. Will
only be used by CMake on the first configuration to determine \fBCXX\fP default
compilation flags, after which the value for \fBCXXFLAGS\fP is stored in the cache
as \fBCMAKE_CXX_FLAGS\fP\&. For any configuration run (
including the first), the environment variable will be ignored if
the \fBCMAKE_CXX_FLAGS\fP variable is defined.
.sp
See also \fBCMAKE_CXX_FLAGS_INIT\fP\&.
.SS FC
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling \fBFortran\fP language files. Will only be used
by CMake on the first configuration to determine \fBFortran\fP compiler, after
which the value for \fBFortran\fP is stored in the cache as
\fBCMAKE_Fortran_COMPILER\fP\&. For any
configuration run (including the first), the environment variable will be
ignored if the \fBCMAKE_Fortran_COMPILER\fP
variable is defined.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
Options that are required to make the compiler work correctly can be included;
they can not be changed.
.UNINDENT
.UNINDENT
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ export FC="custom\-compiler \-\-arg1 \-\-arg2"
.ft P
.fi
.UNINDENT
.UNINDENT
.SS FFLAGS
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default compilation flags to be used when compiling \fBFortran\fP files. Will only
be used by CMake on the first configuration to determine \fBFortran\fP default
compilation flags, after which the value for \fBFFLAGS\fP is stored in the cache
as \fBCMAKE_Fortran_FLAGS\fP\&. For any configuration
run (including the first), the environment variable will be ignored if
the \fBCMAKE_Fortran_FLAGS\fP variable is defined.
.sp
See also \fBCMAKE_Fortran_FLAGS_INIT\fP\&.
.SS HIPCXX
.sp
New in version 3.21.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling \fBHIP\fP language files. Will only be used by
CMake on the first configuration to determine \fBHIP\fP compiler, after which the
value for \fBHIP\fP is stored in the cache as
\fBCMAKE_HIP_COMPILER\fP\&. For any configuration
run (including the first), the environment variable will be ignored if the
\fBCMAKE_HIP_COMPILER\fP variable is defined.
.SS HIPFLAGS
.sp
New in version 3.21.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default compilation flags to be used when compiling \fBHIP\fP files. Will only be
used by CMake on the first configuration to determine \fBHIP\fP default
compilation flags, after which the value for \fBHIPFLAGS\fP is stored in the
cache as \fBCMAKE_HIP_FLAGS\fP\&. For any configuration
run (including the first), the environment variable will be ignored if
the \fBCMAKE_HIP_FLAGS\fP variable is defined.
.sp
See also \fBCMAKE_HIP_FLAGS_INIT\fP\&.
.SS ISPC
.sp
New in version 3.19.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling \fBISPC\fP language files. Will only be used by
CMake on the first configuration to determine \fBISPC\fP compiler, after which the
value for \fBISPC\fP is stored in the cache as
\fBCMAKE_ISPC_COMPILER\fP\&. For any configuration
run (including the first), the environment variable will be ignored if the
\fBCMAKE_ISPC_COMPILER\fP variable is defined.
.SS ISPCFLAGS
.sp
New in version 3.19.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default compilation flags to be used when compiling \fBISPC\fP files. Will only be
used by CMake on the first configuration to determine \fBISPC\fP default
compilation flags, after which the value for \fBISPCFLAGS\fP is stored in the
cache as \fBCMAKE_ISPC_FLAGS\fP\&. For any configuration
run (including the first), the environment variable will be ignored if
the \fBCMAKE_ISPC_FLAGS\fP variable is defined.
.sp
See also \fBCMAKE_ISPC_FLAGS_INIT\fP\&.
.SS OBJC
.sp
New in version 3.16.7.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling \fBOBJC\fP language files. Will only be used
by CMake on the first configuration to determine \fBOBJC\fP compiler, after
which the value for \fBOBJC\fP is stored in the cache as
\fBCMAKE_OBJC_COMPILER\fP\&. For any configuration
run (including the first), the environment variable will be ignored if the
\fBCMAKE_OBJC_COMPILER\fP variable is defined.
.sp
If \fBOBJC\fP is not defined, the \fBCC\fP environment variable will
be checked instead.
.SS OBJCXX
.sp
New in version 3.16.7.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling \fBOBJCXX\fP language files. Will only be used
by CMake on the first configuration to determine \fBOBJCXX\fP compiler, after
which the value for \fBOBJCXX\fP is stored in the cache as
\fBCMAKE_OBJCXX_COMPILER\fP\&. For any configuration
run (including the first), the environment variable will be ignored if the
\fBCMAKE_OBJCXX_COMPILER\fP variable is defined.
.sp
If \fBOBJCXX\fP is not defined, the \fBCXX\fP environment variable will
be checked instead.
.SS RC
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling \fBresource\fP files. Will only be used by CMake
on the first configuration to determine \fBresource\fP compiler, after which the
value for \fBRC\fP is stored in the cache as
\fBCMAKE_RC_COMPILER\fP\&. For any configuration run
(including the first), the environment variable will be ignored if the
\fBCMAKE_RC_COMPILER\fP variable is defined.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
Options that are required to make the compiler work correctly can be included;
they can not be changed.
.UNINDENT
.UNINDENT
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ export RC="custom\-compiler \-\-arg1 \-\-arg2"
.ft P
.fi
.UNINDENT
.UNINDENT
.SS RCFLAGS
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Default compilation flags to be used when compiling \fBresource\fP files. Will
only be used by CMake on the first configuration to determine \fBresource\fP
default compilation flags, after which the value for \fBRCFLAGS\fP is stored in
the cache as \fBCMAKE_RC_FLAGS\fP\&. For any
configuration run (including the first), the environment variable will be ignored
if the \fBCMAKE_RC_FLAGS\fP variable is defined.
.sp
See also \fBCMAKE_RC_FLAGS_INIT\fP\&.
.SS SWIFTC
.sp
New in version 3.15.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Preferred executable for compiling \fBSwift\fP language files. Will only be used by
CMake on the first configuration to determine \fBSwift\fP compiler, after which the
value for \fBSWIFTC\fP is stored in the cache as
\fBCMAKE_Swift_COMPILER\fP\&. For any configuration run
(including the first), the environment variable will be ignored if the
\fBCMAKE_Swift_COMPILER\fP variable is defined.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
Options that are required to make the compiler work correctly can be included;
they can not be changed.
.UNINDENT
.UNINDENT
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ export SWIFTC="custom\-compiler \-\-arg1 \-\-arg2"
.ft P
.fi
.UNINDENT
.UNINDENT
.SH ENVIRONMENT VARIABLES FOR CTEST
.SS CTEST_INTERACTIVE_DEBUG_MODE
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Environment variable that will exist and be set to \fB1\fP when a test executed
by \fBctest(1)\fP is run in interactive mode.
.SS CTEST_OUTPUT_ON_FAILURE
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Boolean environment variable that controls if the output should be logged for
failed tests. Set the value to \fB1\fP, \fBTrue\fP, or \fBON\fP to enable output on failure.
See \fBctest(1)\fP for more information on controlling output of failed
tests.
.SS CTEST_PARALLEL_LEVEL
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Specify the number of tests for CTest to run in parallel. See \fBctest(1)\fP
for more information on parallel test execution.
.SS CTEST_PROGRESS_OUTPUT
.sp
New in version 3.13.
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Boolean environment variable that affects how \fBctest\fP
command output reports overall progress. When set to \fB1\fP, \fBTRUE\fP, \fBON\fP or anything
else that evaluates to boolean true, progress is reported by repeatedly
updating the same line. This greatly reduces the overall verbosity, but is
only supported when output is sent directly to a terminal. If the environment
variable is not set or has a value that evaluates to false, output is reported
normally with each test having its own start and end lines logged to the
output.
.sp
The \fB\-\-progress\fP option to \fBctest\fP overrides this
environment variable if both are given.
.SS CTEST_USE_LAUNCHERS_DEFAULT
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Initializes the \fBCTEST_USE_LAUNCHERS\fP variable if not already defined.
.SS DASHBOARD_TEST_FROM_CTEST
.sp
This is a CMake Environment Variable\&. Its initial value is taken from
the calling process environment.
.sp
Environment variable that will exist when a test executed by \fBctest(1)\fP
is run in non\-interactive mode. The value will be equal to
\fBCMAKE_VERSION\fP\&.
.SH ENVIRONMENT VARIABLES FOR THE CMAKE CURSES INTERFACE
.SS CCMAKE_COLORS
.sp
New in version 3.18.
.sp
Determines what colors are used by the CMake curses interface,
when run on a terminal that supports colors.
The syntax follows the same conventions as \fBLS_COLORS\fP;
that is, a list of key/value pairs separated by \fB:\fP\&.
.sp
Keys are a single letter corresponding to a CMake cache variable type:
.INDENT 0.0
.IP \(bu 2
\fBs\fP: A \fBSTRING\fP\&.
.IP \(bu 2
\fBp\fP: A \fBFILEPATH\fP\&.
.IP \(bu 2
\fBc\fP: A value which has an associated list of choices.
.IP \(bu 2
\fBy\fP: A \fBBOOL\fP which has a true\-like value (e.g. \fBON\fP, \fBYES\fP).
.IP \(bu 2
\fBn\fP: A \fBBOOL\fP which has a false\-like value (e.g. \fBOFF\fP, \fBNO\fP).
.UNINDENT
.sp
Values are an integer number that specifies what color to use.
\fB0\fP is black (you probably don\(aqt want to use that).
Others are determined by your terminal\(aqs color support.
Most (color) terminals will support at least 8 or 16 colors.
Some will support up to 256 colors. The colors will likely match
\fI\%this chart\fP,
although the first 16 colors may match the original
\fI\%CGA color palette\fP\&.
(Many modern terminal emulators also allow their color palette,
at least for the first 16 colors, to be configured by the user.)
.sp
Note that fairly minimal checking is done for bad colors
(although a value higher than what curses believes your terminal supports
will be silently ignored) or bad syntax.
.sp
For example:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
CCMAKE_COLORS=\(aqs=39:p=220:c=207:n=196:y=46\(aq
.ft P
.fi
.UNINDENT
.UNINDENT
.SH COPYRIGHT
2000-2022 Kitware, Inc. and Contributors
.\" Generated by docutils manpage writer.
.