enable_languageΒΆ
Enable languages (CXX/C/OBJC/OBJCXX/Fortran/etc)
enable_language(<lang>... [OPTIONAL])
Enables support for the named languages in CMake. This is the same as
the project() command but does not create any of the extra
variables that are created by the project() command.
The supported languages are:
C
CXXC++
CSharpAdded in version 3.8.
C#
CUDAAdded in version 3.8.
OBJCAdded in version 3.16.
Objective-C
OBJCXXAdded in version 3.16.
Objective-C++
Fortran
HIPAdded in version 3.21.
ISPCAdded in version 3.18.
SwiftAdded in version 3.15.
ASMAssembly language supported by the C compiler.
If enabling
ASM, list it last so that CMake can check whether theCorCXXcompiler supports assembly.ASM_NASMNetwide Assembler
ASM_MARMASMAdded in version 3.26.
Microsoft Assembler (ARM, ARM64)
ASM_MASMMicrosoft Assembler (x86, x64)
ASM_POASMAdded in version 4.4.
Pelles C toolchain assembler.
ASM-ATT
The following restrictions apply to where enable_language() may be called:
It must not be called before the first call to
project(). See policyCMP0165.It must be called such that the command executes before any targets that use the language directly for compiling sources or indirectly through link dependencies.
Note
Further restrictions apply if policy CMP0220 is not set
to NEW. See the policy documentation for details.
The OPTIONAL keyword is a placeholder for future implementation and
does not currently work. Instead you can use the CheckLanguage
module to verify support before enabling.