# CMAKE_<LANG>_COMPILER_ID

Compiler identification string.

A short string unique to the compiler vendor. Possible values include:

Value | Name
--- | ---
`Absoft` | Absoft Fortran
`ADSP` | Analog VisualDSP++
`AppleClang` | Apple Clang
`ARMCC` | ARM Compiler
`ARMClang` | ARM Compiler based on Clang
`Bruce` | Bruce C Compiler
`CCur` | Concurrent Fortran
`Clang` | LLVM Clang
`Cray` | Cray Compiler
`CrayClang` | Cray Clang-based Compiler
`Embarcadero`, `Borland` | Embarcadero
`Flang` | Classic Flang Fortran Compiler
`LLVMFlang` | LLVM Flang Fortran Compiler
`Fujitsu` | Fujitsu HPC compiler (Trad mode)
`FujitsuClang` | Fujitsu HPC compiler (Clang mode)
`G95` | G95 Fortran
`GNU` | GNU Compiler Collection
`GHS` | Green Hills Software
`HP` | Hewlett-Packard Compiler
`IAR` | IAR Systems
`Intel` | Intel Classic Compiler
`IntelLLVM` | Intel LLVM-Based Compiler
`LCC` | MCST Elbrus C/C++/Fortran Compiler
`LFortran` | LFortran Fortran Compiler
`MSVC` | Microsoft Visual Studio
`NVHPC` | NVIDIA HPC Compiler
`NVIDIA` | NVIDIA CUDA Compiler
`OrangeC` | OrangeC Compiler
`OpenWatcom` | Open Watcom
`PGI` | The Portland Group
`PathScale` | PathScale
`SDCC` | Small Device C Compiler
`SunPro` | Oracle Developer Studio
`Tasking` | Tasking Compiler Toolsets
`TI` | Texas Instruments
`TIClang` | Texas Instruments Clang-based Compilers
`TinyCC` | Tiny C Compiler
`XL`, `VisualAge`, `zOS` | IBM XL
`XLClang` | IBM Clang-based XL
`IBMClang` | IBM LLVM-based Compiler

This variable is not guaranteed to be defined for all compilers or languages.