mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-13 01:29:02 -05:00
Provide CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID on more compilers
Provide it whenever we can detect a target architecture from the compiler during compiler inspection. In order to avoid changing existing IDs, do this only for compilers where we don't already detect a target architecture during compiler identification. Fixes: #17702
This commit is contained in:
@@ -3,11 +3,149 @@ CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID
|
||||
|
||||
.. versionadded:: 3.10
|
||||
|
||||
Identifier indicating the
|
||||
target architecture of the compiler for language ``<LANG>``.
|
||||
: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
|
||||
|
||||
``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
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
Reference in New Issue
Block a user