CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID
Added in version 3.10.
List of identifiers indicating the target architecture(s) of the compiler for language <LANG>.
Typically the list has one entry unless CMAKE_OSX_ARCHITECTURES lists multiple architectures.
Possible values for each platform are documented in the following sections.
Apple Platforms
Added in version 4.1.
These identifiers are used when the CMAKE_<LANG>_COMPILER targets an Apple platform (__APPLE__ is defined).
-
arm64 -
ARM 64-bit
-
arm64e -
ARM 64-bit with Pointer Authentication (PACs)
-
arm64_32 -
ARM 64-bit with 32-bit pointers (watchOS)
-
armv5, armv6, armv7, armv7k, armv7s -
ARM 32-bit
-
i386, i486, i586, i686 -
Intel 32-bit
-
ppc -
PowerPC 32-bit
-
x86_64 -
Intel 64-bit
UNIX Platforms
Added in version 4.1.
These identifiers are used when the CMAKE_<LANG>_COMPILER targets a UNIX platform.
-
aarch64 -
ARM 64-bit
-
alpha -
DEC Alpha
-
armv5, armv6, armv7 -
ARM 32-bit
-
i386, i486, i586, i686 -
Intel 32-bit
-
ia64 -
Itanium 64-bit
-
loongarch32 -
LoongArch 32-bit
-
loongarch64 -
LoongArch 64-bit
-
m68k -
Motorola 68000
-
mips -
MIPS 32-bit big-endian
-
mipsel -
MIPS 32-bit little-endian
-
mips64 -
MIPS 64-bit big-endian
-
mips64el -
MIPS 64-bit little-endian
-
parisc -
PA-RISC 32-bit
-
parisc64 -
PA-RISC 64-bit
-
ppc -
PowerPC 32-bit big-endian
-
ppcle -
PowerPC 32-bit little-endian
-
ppc64 -
PowerPC 64-bit big-endian
-
ppc64le -
PowerPC 64-bit little-endian
-
riscv32 -
RISC-V 32-bit
-
riscv64 -
RISC-V 64-bit
-
s390, s390x -
IBM Z
-
sparc -
SPARC 32-bit
-
sparcv9 -
SPARC 64-bit
-
sw_64 -
Sunway
-
wasm32 -
WebAssembly (Emscripten) 32-bit
-
wasm64 -
WebAssembly (Emscripten) 64-bit
-
x86_64 -
Intel 64-bit
Windows Platforms with GNU ABI (MinGW)
Added in version 4.1.
These identifiers are used when the CMAKE_<LANG>_COMPILER targets Windows with a GNU ABI (_WIN32 and __MINGW32__ are defined).
-
aarch64 -
ARM 64-bit
-
armv7 -
ARM 32-bit
-
i386, i486, i586, i686 -
Intel 32-bit
-
x86_64 -
Intel 64-bit
Windows Platforms with MSVC ABI
Added in version 3.10.
These identifiers are used when the CMAKE_<LANG>_COMPILER targets Windows with a MSVC ABI (_WIN32 and _MSC_VER are defined).
-
ARM64 -
ARM 64-bit
-
ARM64EC -
ARM 64-bit Emulation-Compatible
-
ARMV4I, ARMV5I, ARMV7 -
ARM 32-bit
-
IA64 -
Itanium 64-bit
-
MIPS -
MIPS
-
SHx, SH3, SH3DSP, SH4, SH5 -
SuperH
-
x64 -
Intel 64-bit
-
X86 -
Intel 32-bit
Windows Platforms with Watcom ABI
Added in version 3.10.
These identifiers are used when CMAKE_<LANG>_COMPILER_ID is OpenWatcom or Watcom.
-
I86 -
Intel 16-bit
-
X86 -
Intel 32-bit
Green Hills MULTI Platforms
Added in version 3.14.
These identifiers are used when CMAKE_<LANG>_COMPILER_ID is GHS.
-
ARM -
ARM 32-bit
-
PPC -
PowerPC 32-bit
-
PPC64 -
PowerPC 64-bit
-
x64 -
Intel 64-bit
-
X86 -
Intel 32-bit
IAR Platforms
Added in version 3.10.
These identifiers are used when CMAKE_<LANG>_COMPILER_ID is IAR.
-
8051 -
Intel 8051-compatible 8-bit
-
ARM -
ARM 32-/64-bit
-
AVR -
Microchip AVR 8-bit
-
MSP430 -
Texas Instruments MSP430 16-bit
-
RH850 -
Renesas Electronics RH850 32-bit
-
RISCV -
RISC-V 32-/64-bit
-
RL78 -
Renesas Electronics RL78 16-bit
-
RX -
Renesas Electronics RX 32-bit
-
STM8 -
STMicroelectronics STM8 8-bit
-
V850 -
Renesas Electronics V850 32-bit
Renesas Compiler Platforms
Added in version 4.1.
These identifiers are used when CMAKE_<LANG>_COMPILER_ID is Renesas.
-
RH850 -
Renesas Electronics RH850
-
RL78 -
Renesas Electronics RL78
-
RX -
Renesas Electronics RX
TASKING Platforms
Added in version 3.25.
These identifiers are used when CMAKE_<LANG>_COMPILER_ID is Tasking.
-
8051 -
ARC -
ARM -
MCS -
PCP -
TriCore
Texas Instruments Platforms
Added in version 3.19.
These identifiers are used when CMAKE_<LANG>_COMPILER_ID is TI.
-
ARM -
Blackfin -
MSP430 -
SHARC -
TMS320C28x -
TMS320C6x
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.html