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.
Supported languages are C, CXX (i.e. C++), CSharp (i.e. C#), CUDA,
OBJC (i.e. Objective-C), OBJCXX (i.e. Objective-C++), Fortran, HIP,
ISPC, Swift, ASM, ASM_NASM, ASM_MARMASM, ASM_MASM, and ASM-ATT.
New in version 3.8: Added
CSharpandCUDAsupport.New in version 3.15: Added
Swiftsupport.New in version 3.16: Added
OBJCandOBJCXXsupport.New in version 3.18: Added
ISPCsupport.New in version 3.21: Added
HIPsupport.New in version 3.26: Added
ASM_MARMASMsupport.
If enabling ASM, list it last so that CMake can check whether
compilers for other languages like C work for assembly too.
This command must be called in file scope, not in a function call. Furthermore, it must be called in the highest directory common to all targets using the named language directly for compiling sources or indirectly through link dependencies. It is simplest to enable all needed languages in the top-level directory of a project.
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.