cmake-env-variables man page

cmake-env-variables — CMake Environment Variables Reference

This page lists environment variables that have special meaning to CMake.

For general information on environment variables, see the Environment Variables section in the cmake-language manual.

Environment Variables That Control the Build

Cmake_build_parallel_level

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Specifies the maximum number of concurrent processes to use when building using the cmake --build command line Build Tool Mode.

If this variable is defined empty the native build tool’s default number is used.

Cmake_config_type

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

The default build configuration for Build Tool Mode and ctest build handler when there is no explicit configuration given.

Cmake_generator

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Specifies the CMake default generator to use when no generator is supplied with -G. If the provided value doesn’t name a generator known by CMake, the internal default is used.  Either way the resulting generator selection is stored in the CMAKE_GENERATOR variable.

Some generators may be additionally configured using the environment variables:

Cmake_generator_instance

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Default value for CMAKE_GENERATOR_INSTANCE if no Cache entry is present. This value is only applied if Cmake_generator is set.

Cmake_generator_platform

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Default value for CMAKE_GENERATOR_PLATFORM if no Cache entry is present and no value is specified by cmake(1) -A option. This value is only applied if Cmake_generator is set.

Cmake_generator_toolset

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Default value for CMAKE_GENERATOR_TOOLSET if no Cache entry is present and no value is specified by cmake(1) -T option. This value is only applied if Cmake_generator is set.

Cmake_msvcide_run_path

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Extra PATH locations for custom commands when using Visual Studio 9 2008 (or above) generators.

The CMAKE_MSVCIDE_RUN_PATH environment variable sets the default value for the CMAKE_MSVCIDE_RUN_PATH variable if not already explicitly set.

Cmake_no_verbose

Disables verbose output from CMake when Verbose environment variable is set.

Only your build tool of choice will still print verbose output when you start to actually build your project.

Cmake_osx_architectures

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Target specific architectures for macOS.

The CMAKE_OSX_ARCHITECTURES environment variable sets the default value for the CMAKE_OSX_ARCHITECTURES variable. See OSX_ARCHITECTURES for more information.

Destdir

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

On UNIX one can use the DESTDIR mechanism in order to relocate the whole installation.  DESTDIR means DESTination DIRectory.  It is commonly used by makefile users in order to install software at non-default location.  It is usually invoked like this:

make DESTDIR=/home/john install

which will install the concerned software using the installation prefix, e.g.  /usr/local prepended with the DESTDIR value which finally gives /home/john/usr/local.

WARNING: DESTDIR may not be used on Windows because installation prefix usually contains a drive letter like in C:/Program Files which cannot be prepended with some other prefix.

Ldflags

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Will only be used by CMake on the first configuration to determine the default linker flags, after which the value for LDFLAGS is stored in the cache as CMAKE_EXE_LINKER_FLAGS_INIT, CMAKE_SHARED_LINKER_FLAGS_INIT, and CMAKE_MODULE_LINKER_FLAGS_INIT. For any configuration run (including the first), the environment variable will be ignored if the equivalent  CMAKE_<TYPE>_LINKER_FLAGS_INIT variable is defined.

Macosx_deployment_target

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Specify the minimum version of macOS on which the target binaries are to be deployed.

The MACOSX_DEPLOYMENT_TARGET environment variable sets the default value for the CMAKE_OSX_DEPLOYMENT_TARGET variable.

<PackageName>_ROOT

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Calls to find_package(<PackageName>) will search in prefixes specified by the <PackageName>_ROOT environment variable, where <PackageName> is the name given to the find_package() call and _ROOT is literal.  For example, find_package(Foo) will search prefixes specified in the Foo_ROOT environment variable (if set). See policy CMP0074.

This variable may hold a single prefix or a list of prefixes separated by : on UNIX or ; on Windows (the same as the PATH environment variable convention on those platforms).

See also the <PackageName>_ROOT CMake variable.

Verbose

Activates verbose output from CMake and your build tools of choice when you start to actually build your project.

Note that any given value is ignored. It’s just checked for existence.

See also Build Tool Mode and Cmake_no_verbose environment variable

Environment Variables for Languages

Asm<Dialect>

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Preferred executable for compiling a specific dialect of assembly language files. ASM<DIALECT> can be ASM, ASM_NASM (Netwide Assembler), ASM_MASM (Microsoft Assembler) or ASM-ATT (Assembler AT&T). Will only be used by CMake on the first configuration to determine ASM<DIALECT> compiler, after which the value for ASM<DIALECT> is stored in the cache as CMAKE_ASM<DIALECT>_COMPILER. For subsequent configuration runs, the environment variable will be ignored in favor of CMAKE_ASM<DIALECT>_COMPILER.

Asm<Dialect>Flags

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Default compilation flags to be used when compiling a specific dialect of an assembly language. ASM<DIALECT>FLAGS can be ASMFLAGS, ASM_NASMFLAGS, ASM_MASMFLAGS or ASM-ATTFLAGS. Will only be used by CMake on the first configuration to determine ASM_<DIALECT> default compilation flags, after which the value for ASM<DIALECT>FLAGS is stored in the cache as CMAKE_ASM<DIALECT>_FLAGS <CMAKE_<LANG>_FLAGS>.  For any configuration run (including the first), the environment variable will be ignored, if the CMAKE_ASM<DIALECT>_FLAGS <CMAKE_<LANG>_FLAGS> variable is defined.

CC

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Preferred executable for compiling C language files. Will only be used by CMake on the first configuration to determine C compiler, after which the value for CC is stored in the cache as CMAKE_C_COMPILER. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_C_COMPILER variable is defined.

Cflags

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Default compilation flags to be used when compiling C files. Will only be used by CMake on the first configuration to determine CC default compilation flags, after which the value for CFLAGS is stored in the cache as CMAKE_C_FLAGS. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_C_FLAGS variable is defined.

Csflags

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Preferred executable for compiling CSharp language files. Will only be used by CMake on the first configuration to determine CSharp default compilation flags, after which the value for CSFLAGS is stored in the cache as CMAKE_CSharp_FLAGS. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_CSharp_FLAGS variable is defined.

Cudacxx

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Preferred executable for compiling CUDA language files. Will only be used by CMake on the first configuration to determine CUDA compiler, after which the value for CUDA is stored in the cache as CMAKE_CUDA_COMPILER. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_CUDA_COMPILER variable is defined.

Cudaflags

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Default compilation flags to be used when compiling CUDA files. Will only be used by CMake on the first configuration to determine CUDA default compilation flags, after which the value for CUDAFLAGS is stored in the cache as CMAKE_CUDA_FLAGS. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_CUDA_FLAGS variable is defined.

Cudahostcxx

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Preferred executable for compiling host code when compiling CUDA language files. Will only be used by CMake on the first configuration to determine CUDA host compiler, after which the value for CUDAHOSTCXX is stored in the cache as CMAKE_CUDA_HOST_COMPILER. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_CUDA_HOST_COMPILER variable is defined.

This environment variable is primarily meant for use with projects that enable CUDA as a first-class language.  The FindCUDA module will also use it to initialize its CUDA_HOST_COMPILER setting.

CXX

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Preferred executable for compiling CXX language files. Will only be used by CMake on the first configuration to determine CXX compiler, after which the value for CXX is stored in the cache as CMAKE_CXX_COMPILER. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_CXX_COMPILER variable is defined.

Cxxflags

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Default compilation flags to be used when compiling CXX (C++) files. Will only be used by CMake on the first configuration to determine CXX default compilation flags, after which the value for CXXFLAGS is stored in the cache as CMAKE_CXX_FLAGS. For any configuration run ( including the first), the environment variable will be ignored if the CMAKE_CXX_FLAGS variable is defined.

FC

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Preferred executable for compiling Fortran language files. Will only be used by CMake on the first configuration to determine Fortran compiler, after which the value for Fortran is stored in the cache as CMAKE_Fortran_COMPILER. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_Fortran_COMPILER variable is defined.

Fflags

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Default compilation flags to be used when compiling Fortran files. Will only be used by CMake on the first configuration to determine Fortran default compilation flags, after which the value for FFLAGS is stored in the cache as CMAKE_Fortran_FLAGS. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_Fortran_FLAGS variable is defined.

RC

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Preferred executable for compiling resource files. Will only be used by CMake on the first configuration to determine resource compiler, after which the value for RC is stored in the cache as CMAKE_RC_COMPILER. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_RC_COMPILER variable is defined.

Rcflags

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Default compilation flags to be used when compiling resource files. Will only be used by CMake on the first configuration to determine resource default compilation flags, after which the value for RCFLAGS is stored in the cache as CMAKE_RC_FLAGS. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_RC_FLAGS variable is defined.

Swiftc

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Preferred executable for compiling Swift language files. Will only be used by CMake on the first configuration to determine Swift compiler, after which the value for SWIFTC is stored in the cache as CMAKE_Swift_COMPILER. For any configuration run (including the first), the environment variable will be ignored if the CMAKE_Swift_COMPILER variable is defined.

Environment Variables for Ctest

Ctest_interactive_debug_mode

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Environment variable that will exist and be set to 1 when a test executed by ctest(1) is run in interactive mode.

Ctest_output_on_failure

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Boolean environment variable that controls if the output should be logged for failed tests. Set the value to 1, True, or ON to enable output on failure. See ctest(1) for more information on controlling output of failed tests.

Ctest_parallel_level

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Specify the number of tests for CTest to run in parallel. See ctest(1) for more information on parallel test execution.

Ctest_progress_output

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Boolean environment variable that affects how ctest command output reports overall progress.  When set to 1, TRUE, ON 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.

The --progress option to ctest overrides this environment variable if both are given.

Ctest_use_launchers_default

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Initializes the CTEST_USE_LAUNCHERS variable if not already defined.

Dashboard_test_from_ctest

This is a CMake Environment Variable. Its initial value is taken from the calling process environment.

Environment variable that will exist when a test executed by ctest(1) is run in non-interactive mode.  The value will be equal to CMAKE_VERSION.

Referenced By

cmake-language(7).

Nov 26, 2019 3.16.0 CMake