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

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