1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-21 23:00:50 +08:00

Help: Document CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID

Issue: #17702
This commit is contained in:
Brad King
2025-02-26 14:42:39 -05:00
parent fd26efc2bd
commit 1c9f8eeb4f
2 changed files with 163 additions and 5 deletions

View File

@@ -73,6 +73,7 @@ Variables that Provide Information
/variable/CMAKE_JOB_POOL_PRECOMPILE_HEADER
/variable/CMAKE_JOB_POOLS
/variable/CMAKE_LANG_COMPILER_AR
/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID
/variable/CMAKE_LANG_COMPILER_FRONTEND_VARIANT
/variable/CMAKE_LANG_COMPILER_LINKER
/variable/CMAKE_LANG_COMPILER_LINKER_FRONTEND_VARIANT
@@ -815,7 +816,6 @@ are subject to change, and not recommended for use in project code.
/variable/CMAKE_HOME_DIRECTORY
/variable/CMAKE_INTERNAL_PLATFORM_ABI
/variable/CMAKE_LANG_COMPILER_ABI
/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID
/variable/CMAKE_LANG_COMPILER_VERSION_INTERNAL
/variable/CMAKE_LANG_LINKER_PREFERENCE
/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES

View File

@@ -3,8 +3,166 @@ CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID
.. versionadded:: 3.10
An internal variable subject to change.
Identifier indicating the
target architecture of the compiler for language ``<LANG>``.
This is used to identify the variant of a compiler based on its target
architecture. For some compilers this is needed to determine the correct
usage.
Possible values for each platform are documented in the following sections.
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``
..
``ARM``
..
``AVR``
..
``MSP430``
..
``RH850``
..
``RISCV``
..
``RL78``
..
``RX``
..
``STM8``
..
``V850``
..
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``
..