Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CMAKE-ENV-VARIABLES(7)		      CMake		  CMAKE-ENV-VARIABLES(7)

NAME
     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 Vari-
     ables section in the cmake-language manual.

ENVIRONMENT VARIABLES THAT CHANGE BEHAVIOR
   CMAKE_APPBUNDLE_PATH
     This  is  a CMake Environment Variable. Its initial value is taken from the
     calling process environment.

     The CMAKE_APPBUNDLE_PATH environment variable may be set to a list  of  di-
     rectories	 to   be   searched   for   macOS  application	bundles  by  the
     find_program() and find_package() commands.

     This variable may hold a single directory or a list  of  directories  sepa-
     rated  by : on UNIX or ; on Windows (the same as the PATH environment vari-
     able convention on those platforms).

     See also the CMAKE_APPBUNDLE_PATH CMake variable.

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

     The  CMAKE_FRAMEWORK_PATH	environment variable may be set to a list of di-
     rectories to be  searched	for  macOS  frameworks	by  the  find_library(),
     find_package(), find_path() and find_file() commands.

     This  variable  may  hold a single directory or a list of directories sepa-
     rated by : on UNIX or ; on Windows (the same as the PATH environment  vari-
     able convention on those platforms).

     See also the CMAKE_FRAMEWORK_PATH CMake variable.

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

     The CMAKE_INCLUDE_PATH environment variable may be set to a list of  direc-
     tories to be searched by the find_file() and find_path() commands.

     This  variable  may  hold a single directory or a list of directories sepa-
     rated by : on UNIX or ; on Windows (the same as the PATH environment  vari-
     able convention on those platforms).

     See also the CMAKE_INCLUDE_PATH CMake variable.

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

     The CMAKE_LIBRARY_PATH environment variable may be set to a list of  direc-
     tories to be searched by the find_library() command.

     This  variable  may  hold a single directory or a list of directories sepa-
     rated by : on UNIX or ; on Windows (the same as the PATH environment  vari-
     able convention on those platforms).

     See also the CMAKE_LIBRARY_PATH CMake variable.

   CMAKE_MAXIMUM_RECURSION_DEPTH
     Added in version 3.27.

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

     Maximum recursion depth for CMake scripts.  This  environment  variable  is
     used  if  the  CMAKE_MAXIMUM_RECURSION_DEPTH variable is not set.	See that
     variable's documentation for details.

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

     The CMAKE_PREFIX_PATH environment variable may be set to a list of directo-
     ries 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  in-
     clude) as specified in its own documentation.

     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 conven-
     tion on those platforms).

     See also the CMAKE_PREFIX_PATH CMake variable.

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

     The  CMAKE_PROGRAM_PATH environment variable may be set to a list of direc-
     tories to be searched by the find_program() command.

     This variable may hold a single directory or a list  of  directories  sepa-
     rated  by : on UNIX or ; on Windows (the same as the PATH environment vari-
     able convention on those platforms).

     See also the CMAKE_PROGRAM_PATH CMake variable.

   CMAKE_TLS_VERIFY
     Added in version 3.30.

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

     Specify the default value for the file(DOWNLOAD) and file(UPLOAD) commands'
     TLS_VERIFY  option.  This environment variable is used if the option is not
     given and the CMAKE_TLS_VERIFY cmake variable is not set.

     This variable is also used by the ExternalProject and FetchContent  modules
     for internal calls to file(DOWNLOAD) and git clone.

   CMAKE_TLS_VERSION
     Added in version 3.30.

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

     Specify the default value for the file(DOWNLOAD) and file(UPLOAD) commands'
     TLS_VERSION option.  This environment variable is used if the option is not
     given and the CMAKE_TLS_VERSION cmake variable is not set.  See that  vari-
     able for allowed values.

     This  variable is also used by the ExternalProject and FetchContent modules
     for internal calls to file(DOWNLOAD) and git clone.

   SSL_CERT_DIR
     Added in version 3.25.

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

     Specify default directory containing CA certificates.  It overrides the de-
     fault CA directory used.

   SSL_CERT_FILE
     Added in version 3.25.

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

     Specify the file name containing CA certificates.	 It  overrides	the  de-
     fault, os-specific CA file used.

ENVIRONMENT VARIABLES THAT CONTROL THE BUILD
   ADSP_ROOT
     Added in version 3.24.

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

     The ADSP_ROOT environment	variable  specifies  a	default  value	for  the
     CMAKE_ADSP_ROOT  variable	when there is no explicit configuration given on
     the first run while creating a new build tree.

   CMAKE_APPLE_SILICON_PROCESSOR
     Added in version 3.19.2.

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

     On Apple Silicon hosts running macOS, set this environment variable to tell
     CMake  what architecture to use for CMAKE_HOST_SYSTEM_PROCESSOR.  The value
     must be either arm64 or x86_64.

     The CMAKE_APPLE_SILICON_PROCESSOR normal variable, if set,  overrides  this
     environment variable.

   CMAKE_BUILD_PARALLEL_LEVEL
     Added in version 3.12.

     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.  For example, if
     CMAKE_BUILD_PARALLEL_LEVEL is set to 8, the underlying build tool will exe-
     cute up to 8 jobs concurrently as if cmake --build were  invoked  with  the
     --parallel 8 option.

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

   CMAKE_BUILD_TYPE
     Added in version 3.22.

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

     The CMAKE_BUILD_TYPE environment variable specifies a default value for the
     CMAKE_BUILD_TYPE variable when there is no explicit configuration given  on
     the first run while creating a new build tree.

   CMAKE_COLOR_DIAGNOSTICS
     Added in version 3.24.

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

     Specifies a default value for  the  CMAKE_COLOR_DIAGNOSTICS  variable  when
     there is no explicit value given on the first run.

   CMAKE_CONFIG_DIR
     Added in version 3.31.

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

     Specify a CMake user-wide	configuration  directory  for  cmake-file-api(7)
     queries.

     If  this  environment variable is not set, the default user-wide configura-
     tion directory is platform-specific:

     * Windows: %LOCALAPPDATA%\CMake

     * macOS: $XDG_CONFIG_HOME/CMake if set, otherwise $HOME/Library/Application
       Support/CMake

     * Linux/Other: $XDG_CONFIG_HOME/cmake if set, otherwise $HOME/.config/cmake

   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 a Project and ctest build handler
     when there is no explicit configuration given.

   CMAKE_CONFIGURATION_TYPES
     Added in version 3.22.

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

     The CMAKE_CONFIGURATION_TYPES  environment  variable  specifies  a  default
     value  for the CMAKE_CONFIGURATION_TYPES variable when there is no explicit
     configuration given on the first run while creating a new build tree.

   CMAKE_CROSSCOMPILING_EMULATOR
     Added in version 3.28.

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

     The  default  value  for CMAKE_CROSSCOMPILING_EMULATOR when there is no ex-
     plicit 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 CMAKE_CROSSCOMPILING_EMULATOR.

   CMAKE_EXPORT_BUILD_DATABASE
     Added in version 3.31.

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

     The default value for CMAKE_EXPORT_BUILD_DATABASE 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
     CMAKE_EXPORT_BUILD_DATABASE.

     NOTE:
	This  variable	is  meaningful	only when experimental support for build
	databases has been enabled by the  CMAKE_EXPERIMENTAL_EXPORT_BUILD_DATA-
	BASE gate.

   CMAKE_EXPORT_COMPILE_COMMANDS
     Added in version 3.17.

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

     The default value for CMAKE_EXPORT_COMPILE_COMMANDS when there  is  no  ex-
     plicit  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 CMAKE_EXPORT_COMPILE_COMMANDS.

   CMAKE_GENERATOR
     Added in version 3.15.

     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  vari-
     ables:

     * CMAKE_GENERATOR_PLATFORM

     * CMAKE_GENERATOR_TOOLSET

     * CMAKE_GENERATOR_INSTANCE

   CMAKE_GENERATOR_INSTANCE
     Added in version 3.15.

     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
     Added in version 3.15.

     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 -A option.	This value is  only  applied  if
     CMAKE_GENERATOR is set.

   CMAKE_GENERATOR_TOOLSET
     Added in version 3.15.

     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 -T option.  This value is only applied if
     CMAKE_GENERATOR is set.

   CMAKE_INSTALL_MODE
     Added in version 3.22.

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

     The  CMAKE_INSTALL_MODE  environment variable allows users to operate CMake
     in an alternate mode of file(INSTALL) and install().

     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.

   Usage Scenarios
     Installing symbolic links rather than copying files can help in the follow-
     ing ways:

     * Conserving  storage  space  because files do not have to be duplicated on
       disk.

     * Changes to the source of the symbolic link are seen at the install desti-
       nation without having to re-run the install step.

     * 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 ExternalProject and consistent source  navigation
       and refactoring is desired across projects.

   Allowed Values
     The following values are allowed for CMAKE_INSTALL_MODE:

     COPY, empty or unset
	    Duplicate  the  file at its destination.  This is the default behav-
	    ior.

     ABS_SYMLINK
	    Create an absolute symbolic link to the source file at the	destina-
	    tion.  Halt with an error if the link cannot be created.

     ABS_SYMLINK_OR_COPY
	    Like  ABS_SYMLINK  but  fall back to silently copying if the symlink
	    couldn't be created.

     REL_SYMLINK
	    Create a relative symbolic link to the source file at  the	destina-
	    tion.  Halt with an error if the link cannot be created.

     REL_SYMLINK_OR_COPY
	    Like  REL_SYMLINK  but  fall back to silently copying if the symlink
	    couldn't be created.

     SYMLINK
	    Try as if through REL_SYMLINK and fall back to  ABS_SYMLINK  if  the
	    referenced	file  cannot  be  expressed using a relative path.  Halt
	    with an error if the link cannot be created.

     SYMLINK_OR_COPY
	    Like SYMLINK but fall  back  to  silently  copying	if  the  symlink
	    couldn't be created.

     NOTE:
	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 relative or an absolute path.

   When To Set The Environment Variable
     For the environment variable to take effect, it must be set during the cor-
     rect build phase(s).

     * If  the	project  calls	file(INSTALL) directly, the environment variable
       must be set during the configuration phase.

     * In order to apply to install(), the environment variable must be set dur-
       ing installation.  This could be during a build if using the  install  or
       package	build  targets,  or separate from the build when invoking an in-
       stall or running cpack from the command line.

     * When using ExternalProject, it might be required during the build  phase,
       since  the external project's own configure, build and install steps will
       execute during the main project's build phase.

     Given the above, it is recommended to set the environment variable  consis-
     tently across all phases (configure, build and install).

   Caveats
     Use  this	environment variable with caution. The following highlights some
     points to be considered:

     * CMAKE_INSTALL_MODE only affects files, not directories.

     * Symbolic links are not available on all platforms.

     * The way this environment variable interacts  with  the  install	step  of
       ExternalProject	is  more complex. For further details, see that module's
       documentation.

     * 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.

     * Combining CMAKE_INSTALL_MODE with IOS_INSTALL_COMBINED is not supported.

     * Changing  CMAKE_INSTALL_MODE  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.

   CMAKE_INSTALL_PARALLEL_LEVEL
     Added in version 3.31.

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

     Specifies the default maximum number of concurrent processes  to  use  when
     installing using cmake --install.

     This has no impact unless INSTALL_PARALLEL is enabled.

   CMAKE_INSTALL_PREFIX
     Added in version 3.29.

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

     The CMAKE_INSTALL_PREFIX environment variable specifies  a  custom  default
     value  for the CMAKE_INSTALL_PREFIX variable in place of the default values
     specified by CMake itself. The value specified must be an absolute path  to
     a directory.

   CMAKE_<LANG>_COMPILER_LAUNCHER
     Added in version 3.17.

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

     Default compiler launcher to use for the specified language. Will	only  be
     used by CMake to initialize the variable on the first configuration. After-
     wards,  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 CMAKE_<LANG>_COMPILER_LAUNCHER variable  is
     defined.

   CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES_EXCLUDE
     Added in version 3.27.

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

     A	semicolon-separated  list   of	 directories   to   exclude   from   the
     CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES  variable  when  it is automatically
     detected from the <LANG> compiler.

     This may be used to work around misconfigured compiler  drivers  that  pass
     extraneous implicit link directories to their linker.

   CMAKE_<LANG>_LINKER_LAUNCHER
     Added in version 3.21.

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

     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 configu-
     ration.  Afterwards, it is available through the cache setting of the vari-
     able of the same name. For any configuration run (including the first), the
     environment  variable  will  be ignored if the CMAKE_<LANG>_LINKER_LAUNCHER
     variable is defined.

   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 Genera-
     tors.

     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
     Added in version 3.14.

     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 infor-
     mation.

   CMAKE_TEST_LAUNCHER
     Added in version 3.29.

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

     The default value for the CMAKE_TEST_LAUNCHER variable when there is no ex-
     plicit  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 CMAKE_TEST_LAUNCHER.

   CMAKE_TOOLCHAIN_FILE
     Added in version 3.21.

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

     The CMAKE_TOOLCHAIN_FILE environment variable specifies a default value for
     the CMAKE_TOOLCHAIN_FILE 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
     CMAKE_TOOLCHAIN_FILE.

   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
     packagers to install software in a staging directory.

     For example, running

	make DESTDIR=/package/stage install

     will  install  the software using the installation prefix, e.g. /usr/local,
     prepended with the DESTDIR value which gives /package/stage/usr/local.  The
     packaging tool may then construct the  package  from  the	content  of  the
     /package/stage directory.

     See  the  CMAKE_INSTALL_PREFIX  variable to control the installation prefix
     when configuring a build tree.  Or, when using  the  cmake(1)  command-line
     tool's  --install	mode,  one  may  specify  a  different	prefix using the
     --prefix option.

     NOTE:
	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 de-
     fault 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
     Added in version 3.12.

     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
     (case-preserved)  name  given  to the find_package() call and _ROOT is lit-
     eral.  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  conven-
     tion on those platforms).

     See also the <PackageName>_ROOT CMake variable.

     <PACKAGENAME>_ROOT
	    Added in version 3.27.

	    Calls  to  find_package(<PackageName>)  will also search in prefixes
	    specified by the upper-case <PACKAGENAME>_ROOT environment variable.
	    See policy CMP0144.

     NOTE:
	Note that  the	<PackageName>_ROOT  and  <PACKAGENAME>_ROOT  environment
	variables  are distinct only on platforms that have case-sensitive envi-
	ronments.

   VERBOSE
     Added in version 3.14.

     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 one of:

     * ASM

     * ASM_NASM (Netwide Assembler)

     * ASM_MASM (Microsoft Assembler)

     * ASM_MARMASM (Microsoft ARM Assembler)

     * ASM-ATT (Assembler AT&T)

     Will only be used by CMake on the first configuration to determine  ASM<DI-
     ALECT>  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.

     NOTE:
	Options that are required to make the compiler work correctly can be in-
	cluded; they can not be changed.

	$ export ASM="custom-compiler --arg1 --arg2"

   ASM<DIALECT>FLAGS
     This is a CMake Environment Variable. Its initial value is taken  from  the
     calling process environment.

     Add  default compilation flags to be used when compiling a specific dialect
     of an assembly language.  ASM<DIALECT>FLAGS can be one of:

     * ASMFLAGS

     * ASM_NASMFLAGS

     * ASM_MASMFLAGS

     * ASM_MARMASMFLAGS

     * ASM-ATTFLAGS

     CMake uses this environment variable value, in  combination  with	its  own
     builtin  default  flags  for  the	toolchain,  to	initialize and store the
     CMAKE_ASM<DIALECT>_FLAGS cache entry.  This occurs the first time	a  build
     tree  is  configured  for language ASM<DIALECT>.  For any configuration run
     (including the first), the environment variable  will  be	ignored  if  the
     CMAKE_ASM<DIALECT>_FLAGS variable is already defined.

     See also CMAKE_ASM<DIALECT>_FLAGS_INIT.

   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 configura-
     tion run (including the first), the environment variable will be ignored if
     the CMAKE_C_COMPILER variable is defined.

     NOTE:
	Options that are required to make the compiler work correctly can be in-
	cluded; they can not be changed.

	$ export CC="custom-compiler --arg1 --arg2"

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

     Add default compilation flags to be used when compiling C files.

     CMake  uses  this	environment  variable value, in combination with its own
     builtin default flags for	the  toolchain,  to  initialize  and  store  the
     CMAKE_C_FLAGS cache entry.  This occurs the first time a build tree is con-
     figured  for  language C.	For any configuration run (including the first),
     the environment variable will be ignored if the CMAKE_C_FLAGS  variable  is
     already defined.

     See also CMAKE_C_FLAGS_INIT.

   CSFLAGS
     Added in version 3.9.2.

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

     Add default compilation flags to be used when compiling CSharp files.

     CMake uses this environment variable value, in  combination  with	its  own
     builtin  default  flags  for  the	toolchain,  to	initialize and store the
     CMAKE_CSharp_FLAGS cache entry.  This occurs the first time a build tree is
     configured for language CSharp.  For any configuration run  (including  the
     first),  the environment variable will be ignored if the CMAKE_CSharp_FLAGS
     variable is already defined.

     See also CMAKE_CSharp_FLAGS_INIT.

   CUDAARCHS
     Added in version 3.20.

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

     Value  used  to initialize CMAKE_CUDA_ARCHITECTURES on the first configura-
     tion. Subsequent runs will use the value stored in the cache.

     This is  a  semicolon-separated  list  of	architectures  as  described  in
     CUDA_ARCHITECTURES.

   CUDACXX
     Added in version 3.8.

     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.

     NOTE:
	Options that are required to make the compiler work correctly can be in-
	cluded; they can not be changed.

	$ export CUDACXX="custom-compiler --arg1 --arg2"

   CUDAFLAGS
     Added in version 3.8.

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

     Add default compilation flags to be used when compiling CUDA files.

     CMake uses this environment variable value, in  combination  with	its  own
     builtin  default  flags  for  the	toolchain,  to	initialize and store the
     CMAKE_CUDA_FLAGS cache entry.  This occurs the first time a build	tree  is
     configured  for  language	CUDA.	For any configuration run (including the
     first), the environment variable will be ignored  if  the	CMAKE_CUDA_FLAGS
     variable is already defined.

     See also CMAKE_CUDA_FLAGS_INIT.

   CUDAHOSTCXX
     Added in version 3.8.

     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.  This environment variable is preferred
     over CMAKE_CUDA_HOST_COMPILER.

     This environment variable is primarily meant for use with projects that en-
     able CUDA as a first-class language.

     NOTE:
	Ignored when using Visual Studio Generators.

     Added in version 3.13: The FindCUDA module will use this variable	to  ini-
     tialize 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 config-
     uration run (including the first), the environment variable will be ignored
     if the CMAKE_CXX_COMPILER variable is defined.

     NOTE:
	Options that are required to make the compiler work correctly can be in-
	cluded; they can not be changed.

	$ export CXX="custom-compiler --arg1 --arg2"

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

     Add default compilation flags to be used when compiling CXX (C++) files.

     CMake  uses  this	environment  variable value, in combination with its own
     builtin default flags for	the  toolchain,  to  initialize  and  store  the
     CMAKE_CXX_FLAGS  cache  entry.   This occurs the first time a build tree is
     configured for language CXX.  For	any  configuration  run  (including  the
     first),  the  environment	variable  will be ignored if the CMAKE_CXX_FLAGS
     variable is already defined.

     See also CMAKE_CXX_FLAGS_INIT.

   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, af-
     ter  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.

     NOTE:
	Options that are required to make the compiler work correctly can be in-
	cluded; they can not be changed.

	$ export FC="custom-compiler --arg1 --arg2"

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

     Add default compilation flags to be used when compiling Fortran files.

     CMake uses this environment variable value, in  combination  with	its  own
     builtin  default  flags  for  the	toolchain,  to	initialize and store the
     CMAKE_Fortran_FLAGS cache entry.  This occurs the first time a  build  tree
     is  configured  for language Fortran.  For any configuration run (including
     the  first),  the	 environment   variable   will	 be   ignored	if   the
     CMAKE_Fortran_FLAGS variable is already defined.

     See also CMAKE_Fortran_FLAGS_INIT.

   HIPCXX
     Added in version 3.21.

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

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

   HIPFLAGS
     Added in version 3.21.

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

     Add default compilation flags to be used when compiling HIP files.

     CMake  uses  this	environment  variable value, in combination with its own
     builtin default flags for	the  toolchain,  to  initialize  and  store  the
     CMAKE_HIP_FLAGS  cache  entry.   This occurs the first time a build tree is
     configured for language HIP.  For	any  configuration  run  (including  the
     first),  the  environment	variable  will be ignored if the CMAKE_HIP_FLAGS
     variable is already defined.

     See also CMAKE_HIP_FLAGS_INIT.

   HIPHOSTCXX
     Added in version 3.28.

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

     Preferred	executable  for  compiling host code when compiling HIP language
     files with the NVIDIA CUDA Compiler. Will only be	used  by  CMake  on  the
     first  configuration  to determine HIP host compiler, after which the value
     for HIPHOSTCXX is stored in the cache as CMAKE_HIP_HOST_COMPILER.

     This environment variable is primarily meant for use with projects that en-
     able HIP as a first-class language.

     NOTE:
	Ignored when using Visual Studio Generators.

   ISPC
     Added in version 3.19.

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

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

   ISPCFLAGS
     Added in version 3.19.

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

     Add default compilation flags to be used when compiling ISPC files.

     CMake  uses  this	environment  variable value, in combination with its own
     builtin default flags for	the  toolchain,  to  initialize  and  store  the
     CMAKE_ISPC_FLAGS  cache  entry.  This occurs the first time a build tree is
     configured for language ISPC.  For any  configuration  run  (including  the
     first),  the  environment	variable will be ignored if the CMAKE_ISPC_FLAGS
     variable is already defined.

     See also CMAKE_ISPC_FLAGS_INIT.

   OBJC
     Added in version 3.16.7.

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

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

     If OBJC is not defined, the CC environment variable  will	be  checked  in-
     stead.

   OBJCFLAGS
     Added in version 3.16.

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

     Add default compilation flags to be used when compiling Objective C files.

     CMake uses this environment variable value, in  combination  with	its  own
     builtin  default  flags  for  the	toolchain,  to	initialize and store the
     CMAKE_OBJC_FLAGS cache entry.  This occurs the first time a build	tree  is
     configured  for  language	OBJC.	For any configuration run (including the
     first), the environment variable will be ignored  if  the	CMAKE_OBJC_FLAGS
     variable is already defined.

     See also CMAKE_OBJC_FLAGS_INIT.

   OBJCXX
     Added in version 3.16.7.

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

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

     If OBJCXX is not defined, the CXX environment variable will be checked  in-
     stead.

   OBJCXXFLAGS
     Added in version 3.16.

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

     Add default compilation flags to be used when compiling Objective C++ (.mm)
     files.

     CMake uses this environment variable value, in  combination  with	its  own
     builtin  default  flags  for  the	toolchain,  to	initialize and store the
     CMAKE_OBJCXX_FLAGS cache entry.  This occurs the first time a build tree is
     configured for language OBJCXX.  For any configuration run  (including  the
     first),  the environment variable will be ignored if the CMAKE_OBJCXX_FLAGS
     variable is already defined.

     See also CMAKE_OBJCXX_FLAGS_INIT.

   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.

     NOTE:
	Options that are required to make the compiler work correctly can be in-
	cluded; they can not be changed.

	$ export RC="custom-compiler --arg1 --arg2"

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

     Add  default  compilation	flags  to  be  used when compiling RC (resource)
     files.

     CMake uses this environment variable value, in  combination  with	its  own
     builtin  default  flags  for  the	toolchain,  to	initialize and store the
     CMAKE_RC_FLAGS cache entry.  This occurs the first time  a  build	tree  is
     configured  for  language	RC.   For  any	configuration run (including the
     first), the environment variable will  be	ignored  if  the  CMAKE_RC_FLAGS
     variable is already defined.

     See also CMAKE_RC_FLAGS_INIT.

   SWIFTC
     Added in version 3.15.

     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.

     NOTE:
	Options that are required to make the compiler work correctly can be in-
	cluded; they can not be changed.

	$ export SWIFTC="custom-compiler --arg1 --arg2"

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_NO_TESTS_ACTION
     Added in version 3.26.

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

     Environment  variable  that controls how ctest handles cases when there are
     no tests to run. Possible values are: error, ignore, empty or unset.

     The --no-tests=<action> option to ctest overrides this environment variable
     if both are given.

   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 fail-
     ure.  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.	For example,  if
     CTEST_PARALLEL_LEVEL is set to 8, CTest will run up to 8 tests concurrently
     as if ctest were invoked with the --parallel 8 option.

     Changed  in  version 3.29: The value may be empty, or 0, to let ctest use a
     default level of parallelism, or unbounded  parallelism,  respectively,  as
     documented by the ctest --parallel option.

     On  Windows, environment variables cannot be set to an empty string.  CTest
     will interpret a whitespace-only string as empty.

     In CMake 3.28 and earlier, an empty or 0 value was equivalent to 1.

     See ctest(1) for more information on parallel test execution.

   CTEST_PROGRESS_OUTPUT
     Added in version 3.13.

     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 out-
     put 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.

ENVIRONMENT VARIABLES FOR THE CMAKE CURSES INTERFACE
   CCMAKE_COLORS
     Added in version 3.18.

     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 LS_COLORS; that is, a list of key/value pairs separated by :.

     Keys are a single letter corresponding to a CMake cache variable type:

     * s: A STRING.

     * p: A FILEPATH.

     * c: A value which has an associated list of choices.

     * y: A BOOL which has a true-like value (e.g. ON, YES).

     * n: A BOOL which has a false-like value (e.g. OFF, NO).

     Values are an integer number that specifies what color to use.  0 is  black
     (you  probably don't want to use that).  Others are determined by your ter-
     minal's 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 this chart, although the first 16 colors may match the  original  CGA
     color  palette.   (Many  modern  terminal	emulators also allow their color
     palette, at least for the first 16 colors, to be configured by the user.)

     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.

     For example:

	CCMAKE_COLORS='s=39:p=220:c=207:n=196:y=46'

COPYRIGHT
     2000-2024 Kitware, Inc. and Contributors

3.31.12 			  Jul 30, 2026		  CMAKE-ENV-VARIABLES(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cmake-env-variables&sektion=7&manpath=FreeBSD+Ports+15.1.quarterly>

home | help