Back to Cmake

CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID

Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst

4.3.24.8 KB
Original Source

CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID

.. versionadded:: 3.10

:ref:List <CMake Language Lists> of identifiers indicating the target architecture(s) of the compiler for language <LANG>.

Typically the list has one entry unless :variable:CMAKE_OSX_ARCHITECTURES lists multiple architectures.

Possible values for each platform are documented in the following sections.

.. Sync with: Modules/CMakeCompilerABI.h Modules/CMakeFortranCompilerABI.F Modules/CMakeFortranCompilerABI.F90 Modules/Internal/CMakeParseCompilerArchitectureId.cmake

Apple Platforms ^^^^^^^^^^^^^^^

.. versionadded:: 4.1

These identifiers are used when the :variable: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 ^^^^^^^^^^^^^^

.. versionadded:: 4.1

These identifiers are used when the :variable: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) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. versionadded:: 4.1

These identifiers are used when the :variable: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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. versionadded:: 3.10

These identifiers are used when the :variable: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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. versionadded:: 3.10

These identifiers are used when :variable:CMAKE_<LANG>_COMPILER_ID is OpenWatcom or Watcom.

I86 Intel 16-bit

X86 Intel 32-bit

Green Hills MULTI Platforms ^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. versionadded:: 3.14

These identifiers are used when :variable: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 ^^^^^^^^^^^^^

.. versionadded:: 3.10

These identifiers are used when :variable: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 ^^^^^^^^^^^^^^^^^^^^^^^^^^

.. versionadded:: 4.1

These identifiers are used when :variable:CMAKE_<LANG>_COMPILER_ID is Renesas.

RH850 Renesas Electronics RH850

RL78 Renesas Electronics RL78

RX Renesas Electronics RX

TASKING Platforms ^^^^^^^^^^^^^^^^^

.. versionadded:: 3.25

These identifiers are used when :variable:CMAKE_<LANG>_COMPILER_ID is Tasking.

8051 ..

ARC ..

ARM ..

MCS ..

PCP ..

TriCore ..

Texas Instruments Platforms ^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. versionadded:: 3.19

These identifiers are used when :variable:CMAKE_<LANG>_COMPILER_ID is TI.

ARM ..

Blackfin ..

MSP430 ..

SHARC ..

TMS320C28x ..

TMS320C6x ..