mirror of
https://github.com/Kitware/CMake.git
synced 2025-05-09 06:42:18 +08:00
Merge topic 'compiler-architecture-id'
7f0f382c55 Provide CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID on more compilers 019f0f8b32 ARCHITECTURE_ID: Save persistently even if empty 8e46672b29 Fortran: Detect pointer size on sparc architectures eddf66eaef CMakeDetermineASMCompiler: De-duplicate list of compiler info variables c0224f5aa1 CMakeDetermineCompilerABI: Make ABI info string more robust 67ab580804 Windows/Clang: Fix indentation in platform information module 1c9f8eeb4f Help: Document CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !10516
This commit is contained in:
commit
f403e570eb
@ -72,6 +72,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
|
||||
@ -814,7 +815,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
|
||||
|
5
Help/release/dev/compiler-architecture-id.rst
Normal file
5
Help/release/dev/compiler-architecture-id.rst
Normal file
@ -0,0 +1,5 @@
|
||||
compiler-architecture-id
|
||||
------------------------
|
||||
|
||||
* The :variable:`CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID` variable is now
|
||||
populated for most compilers, and documented for public use.
|
@ -3,8 +3,304 @@ CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID
|
||||
|
||||
.. versionadded:: 3.10
|
||||
|
||||
An internal variable subject to change.
|
||||
:ref:`List <CMake Language Lists>` of identifiers indicating the
|
||||
target architecture(s) 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.
|
||||
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
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. 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``
|
||||
..
|
||||
|
@ -18,7 +18,7 @@ set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ID "@_CMAKE_ASM_COMPILER_ID@")
|
||||
set(CMAKE_ASM@ASM_DIALECT@_COMPILER_VERSION "@_CMAKE_ASM_COMPILER_VERSION@")
|
||||
set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ENV_VAR "@_CMAKE_ASM_COMPILER_ENV_VAR@")
|
||||
@_SET_CMAKE_ASM_COMPILER_ID_VENDOR_MATCH@
|
||||
@_SET_CMAKE_ASM_COMPILER_ARCHITECTURE_ID@
|
||||
set(CMAKE_ASM@ASM_DIALECT@_ARCHITECTURE_ID "@_CMAKE_ASM_ARCHITECTURE_ID@")
|
||||
@_SET_CMAKE_ASM_COMPILER_SYSROOT@
|
||||
|
||||
set(CMAKE_ASM@ASM_DIALECT@_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
@ -18,7 +18,7 @@ set(CMAKE_C_PLATFORM_ID "@CMAKE_C_PLATFORM_ID@")
|
||||
set(CMAKE_C_SIMULATE_ID "@CMAKE_C_SIMULATE_ID@")
|
||||
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "@CMAKE_C_COMPILER_FRONTEND_VARIANT@")
|
||||
set(CMAKE_C_SIMULATE_VERSION "@CMAKE_C_SIMULATE_VERSION@")
|
||||
@_SET_CMAKE_C_COMPILER_ARCHITECTURE_ID@
|
||||
set(CMAKE_C_COMPILER_ARCHITECTURE_ID "@CMAKE_C_COMPILER_ARCHITECTURE_ID@")
|
||||
@_SET_CMAKE_C_COMPILER_SYSROOT@
|
||||
@SET_MSVC_C_ARCHITECTURE_ID@
|
||||
@SET_CMAKE_XCODE_ARCHS@
|
||||
|
@ -22,6 +22,9 @@ int main(int argc, char* argv[])
|
||||
require += info_byte_order_little_endian[argc];
|
||||
#if defined(ABI_ID)
|
||||
require += info_abi[argc];
|
||||
#endif
|
||||
#if defined(ARCHITECTURE_ID)
|
||||
require += info_arch[argc];
|
||||
#endif
|
||||
(void)argv;
|
||||
return require;
|
||||
|
@ -23,6 +23,7 @@ set(CMAKE_CUDA_PLATFORM_ID "@CMAKE_CUDA_PLATFORM_ID@")
|
||||
set(CMAKE_CUDA_SIMULATE_ID "@CMAKE_CUDA_SIMULATE_ID@")
|
||||
set(CMAKE_CUDA_COMPILER_FRONTEND_VARIANT "@CMAKE_CUDA_COMPILER_FRONTEND_VARIANT@")
|
||||
set(CMAKE_CUDA_SIMULATE_VERSION "@CMAKE_CUDA_SIMULATE_VERSION@")
|
||||
set(CMAKE_CUDA_COMPILER_ARCHITECTURE_ID "@CMAKE_CUDA_COMPILER_ARCHITECTURE_ID@")
|
||||
@SET_MSVC_CUDA_ARCHITECTURE_ID@
|
||||
@_SET_CMAKE_CUDA_COMPILER_SYSROOT@
|
||||
|
||||
|
@ -13,6 +13,9 @@ int main(int argc, char* argv[])
|
||||
require += info_byte_order_little_endian[argc];
|
||||
#if defined(ABI_ID)
|
||||
require += info_abi[argc];
|
||||
#endif
|
||||
#if defined(ARCHITECTURE_ID)
|
||||
require += info_arch[argc];
|
||||
#endif
|
||||
static_cast<void>(argv);
|
||||
|
||||
|
@ -20,7 +20,7 @@ set(CMAKE_CXX_PLATFORM_ID "@CMAKE_CXX_PLATFORM_ID@")
|
||||
set(CMAKE_CXX_SIMULATE_ID "@CMAKE_CXX_SIMULATE_ID@")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "@CMAKE_CXX_COMPILER_FRONTEND_VARIANT@")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "@CMAKE_CXX_SIMULATE_VERSION@")
|
||||
@_SET_CMAKE_CXX_COMPILER_ARCHITECTURE_ID@
|
||||
set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID "@CMAKE_CXX_COMPILER_ARCHITECTURE_ID@")
|
||||
@_SET_CMAKE_CXX_COMPILER_SYSROOT@
|
||||
@SET_MSVC_CXX_ARCHITECTURE_ID@
|
||||
@SET_CMAKE_XCODE_ARCHS@
|
||||
|
@ -12,6 +12,9 @@ int main(int argc, char* argv[])
|
||||
require += info_byte_order_little_endian[argc];
|
||||
#if defined(ABI_ID)
|
||||
require += info_abi[argc];
|
||||
#endif
|
||||
#if defined(ARCHITECTURE_ID)
|
||||
require += info_arch[argc];
|
||||
#endif
|
||||
(void)argv;
|
||||
return require;
|
||||
|
@ -40,6 +40,121 @@ static unsigned short const info_byte_order_little_endian[] = {
|
||||
# define ABI_ID "ELF"
|
||||
#endif
|
||||
|
||||
#if defined(ABI_ID)
|
||||
static char const info_abi[] = "INFO:abi[" ABI_ID "]";
|
||||
/* Sync with:
|
||||
* Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst
|
||||
* Modules/CMakeFortranCompilerABI.F
|
||||
* Modules/CMakeFortranCompilerABI.F90
|
||||
* Modules/Internal/CMakeParseCompilerArchitectureId.cmake
|
||||
*/
|
||||
#if defined(__APPLE__) && defined(__arm64__)
|
||||
# if defined(__ARM64_ARCH_8_32__)
|
||||
# define ARCHITECTURE_ID "arm64_32"
|
||||
# elif defined(__arm64e__)
|
||||
# define ARCHITECTURE_ID "arm64e"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "arm64"
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "arm64ec"
|
||||
#elif defined(_MSC_VER) && defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "arm64"
|
||||
#elif defined(__arm64ec__)
|
||||
# define ARCHITECTURE_ID "arm64ec"
|
||||
#elif defined(__aarch64__)
|
||||
# define ARCHITECTURE_ID "aarch64"
|
||||
#elif __ARM_ARCH == 7 || _M_ARM == 7 || defined(__ARM_ARCH_7__) || \
|
||||
defined(__TI_ARM_V7__)
|
||||
# if defined(__APPLE__) && defined(__ARM_ARCH_7K__)
|
||||
# define ARCHITECTURE_ID "armv7k"
|
||||
# elif defined(__APPLE__) && defined(__ARM_ARCH_7S__)
|
||||
# define ARCHITECTURE_ID "armv7s"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "armv7"
|
||||
# endif
|
||||
#elif __ARM_ARCH == 6 || _M_ARM == 6 || defined(__ARM_ARCH_6__) || \
|
||||
defined(__TI_ARM_V6__)
|
||||
# define ARCHITECTURE_ID "armv6"
|
||||
#elif __ARM_ARCH == 5 || _M_ARM == 5 || defined(__ARM_ARCH_5__) || \
|
||||
defined(__TI_ARM_V5__)
|
||||
# define ARCHITECTURE_ID "armv5"
|
||||
#elif defined(__alpha) || defined(__alpha) || defined(_M_ALPHA)
|
||||
# define ARCHITECTURE_ID "alpha"
|
||||
#elif defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || \
|
||||
defined(__amd64__) || defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x86_64"
|
||||
#elif defined(__i686) || defined(__i686__) || _M_IX86 == 600
|
||||
# define ARCHITECTURE_ID "i686"
|
||||
#elif defined(__i586) || defined(__i586__) || _M_IX86 == 500
|
||||
# define ARCHITECTURE_ID "i586"
|
||||
#elif defined(__i486) || defined(__i486__) || _M_IX86 == 400
|
||||
# define ARCHITECTURE_ID "i486"
|
||||
#elif defined(__i386) || defined(__i386__) || defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "i386"
|
||||
#elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "ia64"
|
||||
#elif defined(__loongarch64)
|
||||
# define ARCHITECTURE_ID "loongarch64"
|
||||
#elif defined(__loongarch__)
|
||||
# define ARCHITECTURE_ID "loongarch32"
|
||||
#elif defined(__m68k__)
|
||||
# define ARCHITECTURE_ID "m68k"
|
||||
#elif defined(__mips64) || defined(__mips64__)
|
||||
# if defined(_MIPSEL)
|
||||
# define ARCHITECTURE_ID "mips64el"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "mips64"
|
||||
# endif
|
||||
#elif defined(__mips) || defined(__mips__)
|
||||
# if defined(_MIPSEL)
|
||||
# define ARCHITECTURE_ID "mipsel"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "mips"
|
||||
# endif
|
||||
#elif defined(__riscv) && __riscv_xlen == 64
|
||||
# define ARCHITECTURE_ID "riscv64"
|
||||
#elif defined(__riscv) && __riscv_xlen == 32
|
||||
# define ARCHITECTURE_ID "riscv32"
|
||||
#elif defined(__s390x__)
|
||||
# define ARCHITECTURE_ID "s390x"
|
||||
#elif defined(__s390__)
|
||||
# define ARCHITECTURE_ID "s390"
|
||||
#elif defined(__sparcv9) || defined(__sparcv9__) || defined(__sparc64__)
|
||||
# define ARCHITECTURE_ID "sparcv9"
|
||||
#elif defined(__sparc) || defined(__sparc__)
|
||||
# define ARCHITECTURE_ID "sparc"
|
||||
#elif defined(__hppa) || defined(__hppa__)
|
||||
# if defined(__LP64__)
|
||||
# define ARCHITECTURE_ID "parisc64"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "parisc"
|
||||
# endif
|
||||
#elif defined(__ppc64__) || defined(__powerpc64__) || defined(__PPC64__) || \
|
||||
defined(_ARCH_PPC64)
|
||||
# if defined(_LITTLE_ENDIAN) || defined(__LITTLE_ENDIAN__)
|
||||
# define ARCHITECTURE_ID "ppc64le"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ppc64"
|
||||
# endif
|
||||
#elif defined(__ppc__) || defined(__powerpc__) || defined(__PPC__) || \
|
||||
defined(_ARCH_PPC)
|
||||
# if defined(_LITTLE_ENDIAN) || defined(__LITTLE_ENDIAN__)
|
||||
# define ARCHITECTURE_ID "ppcle"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ppc"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
#if defined(ABI_ID)
|
||||
static char const* info_abi = "INFO"
|
||||
":"
|
||||
"abi[" ABI_ID "]";
|
||||
#endif
|
||||
#if defined(ARCHITECTURE_ID)
|
||||
static char const* info_arch = "INFO"
|
||||
":"
|
||||
"arch[" ARCHITECTURE_ID "]";
|
||||
#endif
|
||||
|
@ -238,18 +238,6 @@ else()
|
||||
message(STATUS "Didn't find assembler")
|
||||
endif()
|
||||
|
||||
foreach(_var
|
||||
COMPILER
|
||||
COMPILER_ID
|
||||
COMPILER_ARG1
|
||||
COMPILER_ENV_VAR
|
||||
COMPILER_AR
|
||||
COMPILER_RANLIB
|
||||
COMPILER_VERSION
|
||||
)
|
||||
set(_CMAKE_ASM_${_var} "${CMAKE_ASM${ASM_DIALECT}_${_var}}")
|
||||
endforeach()
|
||||
|
||||
if(CMAKE_ASM${ASM_DIALECT}_COMPILER_SYSROOT)
|
||||
string(CONCAT _SET_CMAKE_ASM_COMPILER_SYSROOT
|
||||
"set(CMAKE_ASM${ASM_DIALECT}_COMPILER_SYSROOT \"${CMAKE_ASM${ASM_DIALECT}_COMPILER_SYSROOT}\")\n"
|
||||
@ -265,18 +253,10 @@ else()
|
||||
set(_SET_CMAKE_ASM_COMPILER_ID_VENDOR_MATCH "")
|
||||
endif()
|
||||
|
||||
if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID)
|
||||
set(_SET_CMAKE_ASM_COMPILER_ARCHITECTURE_ID
|
||||
"set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID ${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID})")
|
||||
else()
|
||||
set(_SET_CMAKE_ASM_COMPILER_ARCHITECTURE_ID "")
|
||||
endif()
|
||||
|
||||
# configure variables set in this file for fast reload later on
|
||||
configure_file(${CMAKE_ROOT}/Modules/CMakeASMCompiler.cmake.in
|
||||
${CMAKE_PLATFORM_INFO_DIR}/CMakeASM${ASM_DIALECT}Compiler.cmake @ONLY)
|
||||
|
||||
foreach(_var
|
||||
block()
|
||||
foreach(_var IN ITEMS
|
||||
# Keep in sync with Internal/CMakeTestASMLinker.
|
||||
COMPILER
|
||||
COMPILER_ID
|
||||
COMPILER_ARG1
|
||||
@ -284,6 +264,10 @@ foreach(_var
|
||||
COMPILER_AR
|
||||
COMPILER_RANLIB
|
||||
COMPILER_VERSION
|
||||
COMPILER_ARCHITECTURE_ID
|
||||
)
|
||||
unset(_CMAKE_ASM_${_var})
|
||||
endforeach()
|
||||
set(_CMAKE_ASM_${_var} "${CMAKE_ASM${ASM_DIALECT}_${_var}}")
|
||||
endforeach()
|
||||
configure_file(${CMAKE_ROOT}/Modules/CMakeASMCompiler.cmake.in
|
||||
${CMAKE_PLATFORM_INFO_DIR}/CMakeASM${ASM_DIALECT}Compiler.cmake @ONLY)
|
||||
endblock()
|
||||
|
@ -210,13 +210,6 @@ else()
|
||||
set(_SET_CMAKE_C_COMPILER_SYSROOT "")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ARCHITECTURE_ID)
|
||||
set(_SET_CMAKE_C_COMPILER_ARCHITECTURE_ID
|
||||
"set(CMAKE_C_COMPILER_ARCHITECTURE_ID ${CMAKE_C_COMPILER_ARCHITECTURE_ID})")
|
||||
else()
|
||||
set(_SET_CMAKE_C_COMPILER_ARCHITECTURE_ID "")
|
||||
endif()
|
||||
|
||||
if(MSVC_C_ARCHITECTURE_ID)
|
||||
set(SET_MSVC_C_ARCHITECTURE_ID
|
||||
"set(MSVC_C_ARCHITECTURE_ID ${MSVC_C_ARCHITECTURE_ID})")
|
||||
|
@ -216,13 +216,6 @@ else()
|
||||
set(_SET_CMAKE_CXX_COMPILER_SYSROOT "")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ARCHITECTURE_ID)
|
||||
set(_SET_CMAKE_CXX_COMPILER_ARCHITECTURE_ID
|
||||
"set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID ${CMAKE_CXX_COMPILER_ARCHITECTURE_ID})")
|
||||
else()
|
||||
set(_SET_CMAKE_CXX_COMPILER_ARCHITECTURE_ID "")
|
||||
endif()
|
||||
|
||||
if(MSVC_CXX_ARCHITECTURE_ID)
|
||||
set(SET_MSVC_CXX_ARCHITECTURE_ID
|
||||
"set(MSVC_CXX_ARCHITECTURE_ID ${MSVC_CXX_ARCHITECTURE_ID})")
|
||||
|
@ -150,6 +150,7 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
|
||||
set(ABI_SIZEOF_DPTR "NOTFOUND")
|
||||
set(ABI_BYTE_ORDER "NOTFOUND")
|
||||
set(ABI_NAME "NOTFOUND")
|
||||
set(ARCHITECTURE_ID "")
|
||||
foreach(info ${ABI_STRINGS})
|
||||
if("${info}" MATCHES "INFO:sizeof_dptr\\[0*([^]]*)\\]" AND NOT ABI_SIZEOF_DPTR)
|
||||
set(ABI_SIZEOF_DPTR "${CMAKE_MATCH_1}")
|
||||
@ -167,6 +168,9 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
|
||||
if("${info}" MATCHES "INFO:abi\\[([^]]*)\\]" AND NOT ABI_NAME)
|
||||
set(ABI_NAME "${CMAKE_MATCH_1}")
|
||||
endif()
|
||||
if("${info}" MATCHES "INFO:arch\\[([^]\"]*)\\]")
|
||||
list(APPEND ARCHITECTURE_ID "${CMAKE_MATCH_1}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(ABI_SIZEOF_DPTR)
|
||||
@ -183,6 +187,28 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
|
||||
set(CMAKE_${lang}_COMPILER_ABI "${ABI_NAME}" PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
# The GNU Fortran compiler does not predefine architecture macros.
|
||||
if(NOT CMAKE_${lang}_COMPILER_ARCHITECTURE_ID AND NOT ARCHITECTURE_ID
|
||||
AND lang STREQUAL "Fortran" AND CMAKE_${lang}_COMPILER_ID STREQUAL "GNU")
|
||||
execute_process(COMMAND "${CMAKE_${lang}_COMPILER}" -dumpmachine
|
||||
OUTPUT_VARIABLE _dumpmachine_triple OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_VARIABLE _dumpmachine_stderr
|
||||
RESULT_VARIABLE _dumpmachine_result
|
||||
)
|
||||
if(_dumpmachine_result EQUAL 0)
|
||||
include(Internal/CMakeParseCompilerArchitectureId)
|
||||
cmake_parse_compiler_architecture_id("${_dumpmachine_triple}" ARCHITECTURE_ID)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# For some compilers we detect the architecture id during compiler identification.
|
||||
# If this was not one of those, use what was detected during compiler ABI detection,
|
||||
# which might be a list, e.g., when CMAKE_OSX_ARCHITECTURES has multiple values.
|
||||
if(NOT CMAKE_${lang}_COMPILER_ARCHITECTURE_ID AND ARCHITECTURE_ID)
|
||||
list(SORT ARCHITECTURE_ID)
|
||||
set(CMAKE_${lang}_COMPILER_ARCHITECTURE_ID "${ARCHITECTURE_ID}" PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
# Parse implicit include directory for this language, if available.
|
||||
if(CMAKE_${lang}_VERBOSE_FLAG)
|
||||
set (implicit_incdirs "")
|
||||
|
@ -327,13 +327,6 @@ else()
|
||||
set(_SET_CMAKE_Fortran_COMPILER_SYSROOT "")
|
||||
endif()
|
||||
|
||||
if(CMAKE_Fortran_COMPILER_ARCHITECTURE_ID)
|
||||
set(_SET_CMAKE_Fortran_COMPILER_ARCHITECTURE_ID
|
||||
"set(CMAKE_Fortran_COMPILER_ARCHITECTURE_ID ${CMAKE_Fortran_COMPILER_ARCHITECTURE_ID})")
|
||||
else()
|
||||
set(_SET_CMAKE_Fortran_COMPILER_ARCHITECTURE_ID "")
|
||||
endif()
|
||||
|
||||
if(MSVC_Fortran_ARCHITECTURE_ID)
|
||||
set(SET_MSVC_Fortran_ARCHITECTURE_ID
|
||||
"set(MSVC_Fortran_ARCHITECTURE_ID ${MSVC_Fortran_ARCHITECTURE_ID})")
|
||||
|
@ -268,13 +268,6 @@ else()
|
||||
set(_SET_CMAKE_HIP_COMPILER_SYSROOT "")
|
||||
endif()
|
||||
|
||||
if(CMAKE_HIP_COMPILER_ARCHITECTURE_ID)
|
||||
set(_SET_CMAKE_HIP_COMPILER_ARCHITECTURE_ID
|
||||
"set(CMAKE_HIP_COMPILER_ARCHITECTURE_ID ${CMAKE_HIP_COMPILER_ARCHITECTURE_ID})")
|
||||
else()
|
||||
set(_SET_CMAKE_HIP_COMPILER_ARCHITECTURE_ID "")
|
||||
endif()
|
||||
|
||||
if(MSVC_HIP_ARCHITECTURE_ID)
|
||||
set(SET_MSVC_HIP_ARCHITECTURE_ID
|
||||
"set(MSVC_HIP_ARCHITECTURE_ID ${MSVC_HIP_ARCHITECTURE_ID})")
|
||||
|
@ -169,13 +169,6 @@ include(CMakeFindBinUtils)
|
||||
include(Compiler/${CMAKE_OBJC_COMPILER_ID}-FindBinUtils OPTIONAL)
|
||||
unset(_CMAKE_PROCESSING_LANGUAGE)
|
||||
|
||||
if(CMAKE_OBJC_COMPILER_ARCHITECTURE_ID)
|
||||
set(_SET_CMAKE_OBJC_COMPILER_ARCHITECTURE_ID
|
||||
"set(CMAKE_OBJC_COMPILER_ARCHITECTURE_ID ${CMAKE_OBJC_COMPILER_ARCHITECTURE_ID})")
|
||||
else()
|
||||
set(_SET_CMAKE_OBJC_COMPILER_ARCHITECTURE_ID "")
|
||||
endif()
|
||||
|
||||
if(CMAKE_OBJC_XCODE_ARCHS)
|
||||
set(SET_CMAKE_XCODE_ARCHS
|
||||
"set(CMAKE_XCODE_ARCHS \"${CMAKE_OBJC_XCODE_ARCHS}\")")
|
||||
|
@ -176,13 +176,6 @@ include(CMakeFindBinUtils)
|
||||
include(Compiler/${CMAKE_OBJCXX_COMPILER_ID}-FindBinUtils OPTIONAL)
|
||||
unset(_CMAKE_PROCESSING_LANGUAGE)
|
||||
|
||||
if(CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID)
|
||||
set(_SET_CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID
|
||||
"set(CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID ${CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID})")
|
||||
else()
|
||||
set(_SET_CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID "")
|
||||
endif()
|
||||
|
||||
if(CMAKE_OBJCXX_XCODE_ARCHS)
|
||||
set(SET_CMAKE_XCODE_ARCHS
|
||||
"set(CMAKE_XCODE_ARCHS \"${CMAKE_OBJCXX_XCODE_ARCHS}\")")
|
||||
|
@ -8,7 +8,7 @@ set(CMAKE_Fortran_SIMULATE_ID "@CMAKE_Fortran_SIMULATE_ID@")
|
||||
set(CMAKE_Fortran_COMPILER_FRONTEND_VARIANT "@CMAKE_Fortran_COMPILER_FRONTEND_VARIANT@")
|
||||
set(CMAKE_Fortran_SIMULATE_VERSION "@CMAKE_Fortran_SIMULATE_VERSION@")
|
||||
@_SET_CMAKE_Fortran_XL_CPP@
|
||||
@_SET_CMAKE_Fortran_COMPILER_ARCHITECTURE_ID@
|
||||
set(CMAKE_Fortran_COMPILER_ARCHITECTURE_ID "@CMAKE_Fortran_COMPILER_ARCHITECTURE_ID@")
|
||||
@_SET_CMAKE_Fortran_COMPILER_SYSROOT@
|
||||
@SET_MSVC_Fortran_ARCHITECTURE_ID@
|
||||
set(CMAKE_AR "@CMAKE_AR@")
|
||||
|
@ -12,6 +12,8 @@
|
||||
PRINT *, 'INFO:sizeof_dptr[8]'
|
||||
#elif defined(__x86_64__)
|
||||
PRINT *, 'INFO:sizeof_dptr[8]'
|
||||
#elif defined(__sparcv9) || defined(__sparcv9__) || defined(__sparc64__)
|
||||
PRINT *, 'INFO:sizeof_dptr[8]'
|
||||
|
||||
#elif defined(_ILP32)
|
||||
PRINT *, 'INFO:sizeof_dptr[4]'
|
||||
@ -19,6 +21,8 @@
|
||||
PRINT *, 'INFO:sizeof_dptr[4]'
|
||||
#elif defined(__i386__)
|
||||
PRINT *, 'INFO:sizeof_dptr[4]'
|
||||
#elif defined(__sparc) || defined(__sparc__)
|
||||
PRINT *, 'INFO:sizeof_dptr[4]'
|
||||
|
||||
#elif defined(__SIZEOF_POINTER__) && __SIZEOF_POINTER__ == 8
|
||||
PRINT *, 'INFO:sizeof_dptr[8]'
|
||||
@ -36,5 +40,108 @@
|
||||
#if defined(__ELF__)
|
||||
PRINT *, 'INFO:abi[ELF]'
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
! Sync with
|
||||
! Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst
|
||||
! Modules/CMakeCompilerABI.h
|
||||
! Modules/CMakeFortranCompilerABI.F90
|
||||
! Modules/Internal/CMakeParseCompilerArchitectureId.cmake
|
||||
#endif
|
||||
#if defined(__APPLE__) && defined(__arm64__)
|
||||
# if defined(__ARM64_ARCH_8_32__)
|
||||
PRINT *, 'INFO:arch[arm64_32]'
|
||||
# elif defined(__arm64e__)
|
||||
PRINT *, 'INFO:arch[arm64e]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[arm64]'
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_M_ARM64EC)
|
||||
PRINT *, 'INFO:arch[arm64ec]'
|
||||
#elif defined(_MSC_VER) && defined(_M_ARM64)
|
||||
PRINT *, 'INFO:arch[arm64]'
|
||||
#elif defined(__arm64ec__)
|
||||
PRINT *, 'INFO:arch[arm64ec]'
|
||||
#elif defined(__aarch64__)
|
||||
PRINT *, 'INFO:arch[aarch64]'
|
||||
#elif __ARM_ARCH == 7 || _M_ARM == 7 || defined(__ARM_ARCH_7__)
|
||||
# if defined(__APPLE__) && defined(__ARM_ARCH_7K__)
|
||||
PRINT *, 'INFO:arch[armv7k]'
|
||||
# elif defined(__APPLE__) && defined(__ARM_ARCH_7S__)
|
||||
PRINT *, 'INFO:arch[armv7s]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[armv7]'
|
||||
# endif
|
||||
#elif __ARM_ARCH == 6 || _M_ARM == 6 || defined(__ARM_ARCH_6__)
|
||||
PRINT *, 'INFO:arch[armv6]'
|
||||
#elif __ARM_ARCH == 5 || _M_ARM == 5 || defined(__ARM_ARCH_5__)
|
||||
PRINT *, 'INFO:arch[armv5]'
|
||||
#elif defined(__alpha) || defined(__alpha) || defined(_M_ALPHA)
|
||||
PRINT *, 'INFO:arch[alpha]'
|
||||
#elif defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || \
|
||||
defined(__amd64__) || defined(_M_X64) || defined(_M_AMD64)
|
||||
PRINT *, 'INFO:arch[x86_64]'
|
||||
#elif defined(__i686) || defined(__i686__) || _M_IX86 == 600
|
||||
PRINT *, 'INFO:arch[i686]'
|
||||
#elif defined(__i586) || defined(__i586__) || _M_IX86 == 500
|
||||
PRINT *, 'INFO:arch[i586]'
|
||||
#elif defined(__i486) || defined(__i486__) || _M_IX86 == 400
|
||||
PRINT *, 'INFO:arch[i486]'
|
||||
#elif defined(__i386) || defined(__i386__) || defined(_M_IX86)
|
||||
PRINT *, 'INFO:arch[i386]'
|
||||
#elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
|
||||
PRINT *, 'INFO:arch[ia64]'
|
||||
#elif defined(__loongarch64)
|
||||
PRINT *, 'INFO:arch[loongarch64]'
|
||||
#elif defined(__loongarch__)
|
||||
PRINT *, 'INFO:arch[loongarch32]'
|
||||
#elif defined(__m68k__)
|
||||
PRINT *, 'INFO:arch[m68k]'
|
||||
#elif defined(__mips64) || defined(__mips64__)
|
||||
# if defined(_MIPSEL)
|
||||
PRINT *, 'INFO:arch[mips64el]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[mips64]'
|
||||
# endif
|
||||
#elif defined(__mips) || defined(__mips__)
|
||||
# if defined(_MIPSEL)
|
||||
PRINT *, 'INFO:arch[mipsel]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[mips]'
|
||||
# endif
|
||||
#elif defined(__riscv) && __riscv_xlen == 64
|
||||
PRINT *, 'INFO:arch[riscv64]'
|
||||
#elif defined(__riscv) && __riscv_xlen == 32
|
||||
PRINT *, 'INFO:arch[riscv32]'
|
||||
#elif defined(__s390x__)
|
||||
PRINT *, 'INFO:arch[s390x]'
|
||||
#elif defined(__s390__)
|
||||
PRINT *, 'INFO:arch[s390]'
|
||||
#elif defined(__sparcv9) || defined(__sparcv9__) || defined(__sparc64__)
|
||||
PRINT *, 'INFO:arch[sparcv9]'
|
||||
#elif defined(__sparc) || defined(__sparc__)
|
||||
PRINT *, 'INFO:arch[sparc]'
|
||||
#elif defined(__hppa) || defined(__hppa__)
|
||||
# if defined(__LP64__)
|
||||
PRINT *, 'INFO:arch[parisc64]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[parisc]'
|
||||
# endif
|
||||
#elif defined(__ppc64__) || defined(__powerpc64__) || defined(__PPC64__) || \
|
||||
defined(_ARCH_PPC64)
|
||||
# if defined(_LITTLE_ENDIAN) || defined(__LITTLE_ENDIAN__)
|
||||
PRINT *, 'INFO:arch[ppc64le]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[ppc64]'
|
||||
# endif
|
||||
#elif defined(__ppc__) || defined(__powerpc__) || defined(__PPC__) || \
|
||||
defined(_ARCH_PPC)
|
||||
# if defined(_LITTLE_ENDIAN) || defined(__LITTLE_ENDIAN__)
|
||||
PRINT *, 'INFO:arch[ppcle]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[ppc]'
|
||||
# endif
|
||||
#endif
|
||||
|
||||
PRINT *, 'ABI Detection'
|
||||
END
|
||||
|
@ -20,6 +20,8 @@ PRINT *, 'INFO:sizeof_dptr[8]'
|
||||
PRINT *, 'INFO:sizeof_dptr[8]'
|
||||
#elif defined(__x86_64__)
|
||||
PRINT *, 'INFO:sizeof_dptr[8]'
|
||||
#elif defined(__sparcv9) || defined(__sparcv9__) || defined(__sparc64__)
|
||||
PRINT *, 'INFO:sizeof_dptr[8]'
|
||||
|
||||
#elif defined(_ILP32)
|
||||
PRINT *, 'INFO:sizeof_dptr[4]'
|
||||
@ -27,6 +29,8 @@ PRINT *, 'INFO:sizeof_dptr[4]'
|
||||
PRINT *, 'INFO:sizeof_dptr[4]'
|
||||
#elif defined(__i386__)
|
||||
PRINT *, 'INFO:sizeof_dptr[4]'
|
||||
#elif defined(__sparc) || defined(__sparc__)
|
||||
PRINT *, 'INFO:sizeof_dptr[4]'
|
||||
|
||||
#elif defined(__SIZEOF_POINTER__) && __SIZEOF_POINTER__ == 8
|
||||
PRINT *, 'INFO:sizeof_dptr[8]'
|
||||
@ -44,5 +48,108 @@ PRINT *, 'INFO:sizeof_dptr[4]'
|
||||
#if defined(__ELF__)
|
||||
PRINT *, 'INFO:abi[ELF]'
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
! Sync with
|
||||
! Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst
|
||||
! Modules/CMakeCompilerABI.h
|
||||
! Modules/CMakeFortranCompilerABI.F
|
||||
! Modules/Internal/CMakeParseCompilerArchitectureId.cmake
|
||||
#endif
|
||||
#if defined(__APPLE__) && defined(__arm64__)
|
||||
# if defined(__ARM64_ARCH_8_32__)
|
||||
PRINT *, 'INFO:arch[arm64_32]'
|
||||
# elif defined(__arm64e__)
|
||||
PRINT *, 'INFO:arch[arm64e]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[arm64]'
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_M_ARM64EC)
|
||||
PRINT *, 'INFO:arch[arm64ec]'
|
||||
#elif defined(_MSC_VER) && defined(_M_ARM64)
|
||||
PRINT *, 'INFO:arch[arm64]'
|
||||
#elif defined(__arm64ec__)
|
||||
PRINT *, 'INFO:arch[arm64ec]'
|
||||
#elif defined(__aarch64__)
|
||||
PRINT *, 'INFO:arch[aarch64]'
|
||||
#elif __ARM_ARCH == 7 || _M_ARM == 7 || defined(__ARM_ARCH_7__)
|
||||
# if defined(__APPLE__) && defined(__ARM_ARCH_7K__)
|
||||
PRINT *, 'INFO:arch[armv7k]'
|
||||
# elif defined(__APPLE__) && defined(__ARM_ARCH_7S__)
|
||||
PRINT *, 'INFO:arch[armv7s]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[armv7]'
|
||||
# endif
|
||||
#elif __ARM_ARCH == 6 || _M_ARM == 6 || defined(__ARM_ARCH_6__)
|
||||
PRINT *, 'INFO:arch[armv6]'
|
||||
#elif __ARM_ARCH == 5 || _M_ARM == 5 || defined(__ARM_ARCH_5__)
|
||||
PRINT *, 'INFO:arch[armv5]'
|
||||
#elif defined(__alpha) || defined(__alpha) || defined(_M_ALPHA)
|
||||
PRINT *, 'INFO:arch[alpha]'
|
||||
#elif defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || \
|
||||
defined(__amd64__) || defined(_M_X64) || defined(_M_AMD64)
|
||||
PRINT *, 'INFO:arch[x86_64]'
|
||||
#elif defined(__i686) || defined(__i686__) || _M_IX86 == 600
|
||||
PRINT *, 'INFO:arch[i686]'
|
||||
#elif defined(__i586) || defined(__i586__) || _M_IX86 == 500
|
||||
PRINT *, 'INFO:arch[i586]'
|
||||
#elif defined(__i486) || defined(__i486__) || _M_IX86 == 400
|
||||
PRINT *, 'INFO:arch[i486]'
|
||||
#elif defined(__i386) || defined(__i386__) || defined(_M_IX86)
|
||||
PRINT *, 'INFO:arch[i386]'
|
||||
#elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
|
||||
PRINT *, 'INFO:arch[ia64]'
|
||||
#elif defined(__loongarch64)
|
||||
PRINT *, 'INFO:arch[loongarch64]'
|
||||
#elif defined(__loongarch__)
|
||||
PRINT *, 'INFO:arch[loongarch32]'
|
||||
#elif defined(__m68k__)
|
||||
PRINT *, 'INFO:arch[m68k]'
|
||||
#elif defined(__mips64) || defined(__mips64__)
|
||||
# if defined(_MIPSEL)
|
||||
PRINT *, 'INFO:arch[mips64el]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[mips64]'
|
||||
# endif
|
||||
#elif defined(__mips) || defined(__mips__)
|
||||
# if defined(_MIPSEL)
|
||||
PRINT *, 'INFO:arch[mipsel]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[mips]'
|
||||
# endif
|
||||
#elif defined(__riscv) && __riscv_xlen == 64
|
||||
PRINT *, 'INFO:arch[riscv64]'
|
||||
#elif defined(__riscv) && __riscv_xlen == 32
|
||||
PRINT *, 'INFO:arch[riscv32]'
|
||||
#elif defined(__s390x__)
|
||||
PRINT *, 'INFO:arch[s390x]'
|
||||
#elif defined(__s390__)
|
||||
PRINT *, 'INFO:arch[s390]'
|
||||
#elif defined(__sparcv9) || defined(__sparcv9__) || defined(__sparc64__)
|
||||
PRINT *, 'INFO:arch[sparcv9]'
|
||||
#elif defined(__sparc) || defined(__sparc__)
|
||||
PRINT *, 'INFO:arch[sparc]'
|
||||
#elif defined(__hppa) || defined(__hppa__)
|
||||
# if defined(__LP64__)
|
||||
PRINT *, 'INFO:arch[parisc64]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[parisc]'
|
||||
# endif
|
||||
#elif defined(__ppc64__) || defined(__powerpc64__) || defined(__PPC64__) || \
|
||||
defined(_ARCH_PPC64)
|
||||
# if defined(_LITTLE_ENDIAN) || defined(__LITTLE_ENDIAN__)
|
||||
PRINT *, 'INFO:arch[ppc64le]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[ppc64]'
|
||||
# endif
|
||||
#elif defined(__ppc__) || defined(__powerpc__) || defined(__PPC__) || \
|
||||
defined(_ARCH_PPC)
|
||||
# if defined(_LITTLE_ENDIAN) || defined(__LITTLE_ENDIAN__)
|
||||
PRINT *, 'INFO:arch[ppcle]'
|
||||
# else
|
||||
PRINT *, 'INFO:arch[ppc]'
|
||||
# endif
|
||||
#endif
|
||||
|
||||
PRINT *, 'ABI Detection'
|
||||
end program
|
||||
|
@ -21,6 +21,7 @@ set(CMAKE_HIP_PLATFORM_ID "@CMAKE_HIP_PLATFORM_ID@")
|
||||
set(CMAKE_HIP_SIMULATE_ID "@CMAKE_HIP_SIMULATE_ID@")
|
||||
set(CMAKE_HIP_COMPILER_FRONTEND_VARIANT "@CMAKE_HIP_COMPILER_FRONTEND_VARIANT@")
|
||||
set(CMAKE_HIP_SIMULATE_VERSION "@CMAKE_HIP_SIMULATE_VERSION@")
|
||||
set(CMAKE_HIP_COMPILER_ARCHITECTURE_ID "@CMAKE_HIP_COMPILER_ARCHITECTURE_ID@")
|
||||
@SET_MSVC_HIP_ARCHITECTURE_ID@
|
||||
@_SET_CMAKE_HIP_COMPILER_SYSROOT@
|
||||
set(CMAKE_HIP_COMPILER_ROCM_ROOT "@CMAKE_HIP_COMPILER_ROCM_ROOT@")
|
||||
|
@ -14,6 +14,9 @@ int main(int argc, char* argv[])
|
||||
require += info_sizeof_dptr[argc];
|
||||
#if defined(ABI_ID)
|
||||
require += info_abi[argc];
|
||||
#endif
|
||||
#if defined(ARCHITECTURE_ID)
|
||||
require += info_arch[argc];
|
||||
#endif
|
||||
static_cast<void>(argv);
|
||||
|
||||
|
@ -18,7 +18,7 @@ set(CMAKE_OBJC_PLATFORM_ID "@CMAKE_OBJC_PLATFORM_ID@")
|
||||
set(CMAKE_OBJC_SIMULATE_ID "@CMAKE_OBJC_SIMULATE_ID@")
|
||||
set(CMAKE_OBJC_COMPILER_FRONTEND_VARIANT "@CMAKE_OBJC_COMPILER_FRONTEND_VARIANT@")
|
||||
set(CMAKE_OBJC_SIMULATE_VERSION "@CMAKE_OBJC_SIMULATE_VERSION@")
|
||||
@_SET_CMAKE_OBJC_COMPILER_ARCHITECTURE_ID@
|
||||
set(CMAKE_OBJC_COMPILER_ARCHITECTURE_ID "@CMAKE_OBJC_COMPILER_ARCHITECTURE_ID@")
|
||||
@SET_CMAKE_XCODE_ARCHS@
|
||||
set(CMAKE_AR "@CMAKE_AR@")
|
||||
set(CMAKE_OBJC_COMPILER_AR "@CMAKE_OBJC_COMPILER_AR@")
|
||||
|
@ -16,6 +16,9 @@ int main(int argc, char *argv[])
|
||||
require += info_byte_order_little_endian[argc];
|
||||
#if defined(ABI_ID)
|
||||
require += info_abi[argc];
|
||||
#endif
|
||||
#if defined(ARCHITECTURE_ID)
|
||||
require += info_arch[argc];
|
||||
#endif
|
||||
(void)argv;
|
||||
return require;
|
||||
|
@ -19,7 +19,7 @@ set(CMAKE_OBJCXX_PLATFORM_ID "@CMAKE_OBJCXX_PLATFORM_ID@")
|
||||
set(CMAKE_OBJCXX_SIMULATE_ID "@CMAKE_OBJCXX_SIMULATE_ID@")
|
||||
set(CMAKE_OBJCXX_COMPILER_FRONTEND_VARIANT "@CMAKE_OBJCXX_COMPILER_FRONTEND_VARIANT@")
|
||||
set(CMAKE_OBJCXX_SIMULATE_VERSION "@CMAKE_OBJCXX_SIMULATE_VERSION@")
|
||||
@_SET_CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID@
|
||||
set(CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID "@CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID@")
|
||||
@SET_CMAKE_XCODE_ARCHS@
|
||||
set(CMAKE_AR "@CMAKE_AR@")
|
||||
set(CMAKE_OBJCXX_COMPILER_AR "@CMAKE_OBJCXX_COMPILER_AR@")
|
||||
|
@ -16,6 +16,9 @@ int main(int argc, char *argv[])
|
||||
require += info_byte_order_little_endian[argc];
|
||||
#if defined(ABI_ID)
|
||||
require += info_abi[argc];
|
||||
#endif
|
||||
#if defined(ARCHITECTURE_ID)
|
||||
require += info_arch[argc];
|
||||
#endif
|
||||
(void)argv;
|
||||
return require;
|
||||
|
@ -4,6 +4,8 @@
|
||||
# Re-configure to save learned information.
|
||||
block()
|
||||
foreach(_var IN ITEMS
|
||||
# Compiler information.
|
||||
# Keep in sync with CMakeDetermineASMCompiler.
|
||||
COMPILER
|
||||
COMPILER_ID
|
||||
COMPILER_ARG1
|
||||
@ -11,6 +13,8 @@ block()
|
||||
COMPILER_AR
|
||||
COMPILER_RANLIB
|
||||
COMPILER_VERSION
|
||||
COMPILER_ARCHITECTURE_ID
|
||||
# Linker information.
|
||||
COMPILER_LINKER
|
||||
COMPILER_LINKER_ID
|
||||
COMPILER_LINKER_VERSION
|
||||
|
74
Modules/Internal/CMakeParseCompilerArchitectureId.cmake
Normal file
74
Modules/Internal/CMakeParseCompilerArchitectureId.cmake
Normal file
@ -0,0 +1,74 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
function(cmake_parse_compiler_architecture_id triple arch_id_var)
|
||||
# Sync with:
|
||||
# Help/variable/CMAKE_LANG_COMPILER_ARCHITECTURE_ID.rst
|
||||
# Modules/CMakeCompilerABI.h
|
||||
# Modules/CMakeFortranCompilerABI.F
|
||||
# Modules/CMakeFortranCompilerABI.F90
|
||||
if(_dumpmachine_triple MATCHES "^(aarch64|arm64)-apple-")
|
||||
set(ARCHITECTURE_ID "arm64")
|
||||
elseif(_dumpmachine_triple MATCHES "^(aarch64|arm64)_32-apple-")
|
||||
set(ARCHITECTURE_ID "arm64_32")
|
||||
elseif(_dumpmachine_triple MATCHES "^(aarch64|arm64)e-apple-")
|
||||
set(ARCHITECTURE_ID "arm64e")
|
||||
elseif(_dumpmachine_triple MATCHES "^(armv7k|armv7s)-apple-")
|
||||
set(ARCHITECTURE_ID "${CMAKE_MATCH_1}")
|
||||
elseif(_dumpmachine_triple MATCHES "^(aarch64|arm64)-")
|
||||
set(ARCHITECTURE_ID "aarch64")
|
||||
elseif(_dumpmachine_triple MATCHES "^(armv[5-7])[^-]*-")
|
||||
set(ARCHITECTURE_ID "${CMAKE_MATCH_1}")
|
||||
elseif(_dumpmachine_triple MATCHES "^alpha[^-]*-")
|
||||
set(ARCHITECTURE_ID "alpha")
|
||||
elseif(_dumpmachine_triple MATCHES "^(x86_64|amd64)-")
|
||||
set(ARCHITECTURE_ID "x86_64")
|
||||
elseif(_dumpmachine_triple MATCHES "^(i[3-6]86)-")
|
||||
set(ARCHITECTURE_ID "${CMAKE_MATCH_1}")
|
||||
elseif(_dumpmachine_triple MATCHES "^ia64-")
|
||||
set(ARCHITECTURE_ID "ia64")
|
||||
elseif(_dumpmachine_triple MATCHES "^loongarch64-")
|
||||
set(ARCHITECTURE_ID "loongarch64")
|
||||
elseif(_dumpmachine_triple MATCHES "^loongarch(32)?-")
|
||||
set(ARCHITECTURE_ID "loongarch32")
|
||||
elseif(_dumpmachine_triple MATCHES "^m68k-")
|
||||
set(ARCHITECTURE_ID "m68k")
|
||||
elseif(_dumpmachine_triple MATCHES "^mingw32$") # MinGW/MSYS 1.0: http://mingw.osdn.io/
|
||||
set(ARCHITECTURE_ID "i386")
|
||||
elseif(_dumpmachine_triple MATCHES "^mips[^-]*64[^-]*el-")
|
||||
set(ARCHITECTURE_ID "mips64el")
|
||||
elseif(_dumpmachine_triple MATCHES "^mips[^-]*64[^-]*-")
|
||||
set(ARCHITECTURE_ID "mips64")
|
||||
elseif(_dumpmachine_triple MATCHES "^mips[^-]*el[^-]*-")
|
||||
set(ARCHITECTURE_ID "mipsel")
|
||||
elseif(_dumpmachine_triple MATCHES "^mips[^-]*-")
|
||||
set(ARCHITECTURE_ID "mips")
|
||||
elseif(_dumpmachine_triple MATCHES "^riscv64-")
|
||||
set(ARCHITECTURE_ID "riscv64")
|
||||
elseif(_dumpmachine_triple MATCHES "^riscv32-")
|
||||
set(ARCHITECTURE_ID "riscv32")
|
||||
elseif(_dumpmachine_triple MATCHES "^s390x-")
|
||||
set(ARCHITECTURE_ID "s390x")
|
||||
elseif(_dumpmachine_triple MATCHES "^s390-")
|
||||
set(ARCHITECTURE_ID "s390")
|
||||
elseif(_dumpmachine_triple MATCHES "^(sparcv9|sparc64)-")
|
||||
set(ARCHITECTURE_ID "sparcv9")
|
||||
elseif(_dumpmachine_triple MATCHES "^sparc-")
|
||||
set(ARCHITECTURE_ID "sparc")
|
||||
elseif(_dumpmachine_triple MATCHES "^(hppa64|parisc64)-")
|
||||
set(ARCHITECTURE_ID "parisc64")
|
||||
elseif(_dumpmachine_triple MATCHES "^(hppa[0-9.]*|parisc)-")
|
||||
set(ARCHITECTURE_ID "parisc")
|
||||
elseif(_dumpmachine_triple MATCHES "^(powerpc64le|ppc64le)-")
|
||||
set(ARCHITECTURE_ID "ppc64le")
|
||||
elseif(_dumpmachine_triple MATCHES "^(powerpc64|ppc64)-")
|
||||
set(ARCHITECTURE_ID "ppc64")
|
||||
elseif(_dumpmachine_triple MATCHES "^(powerpcle|ppcle)-")
|
||||
set(ARCHITECTURE_ID "ppcle")
|
||||
elseif(_dumpmachine_triple MATCHES "^(powerpc|ppc)-")
|
||||
set(ARCHITECTURE_ID "ppc")
|
||||
else()
|
||||
set(ARCHITECTURE_ID "")
|
||||
endif()
|
||||
set("${arch_id_var}" "${ARCHITECTURE_ID}" PARENT_SCOPE)
|
||||
endfunction()
|
@ -228,7 +228,7 @@ if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
|
||||
set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-imsvc")
|
||||
|
||||
set(CMAKE_${lang}_LINK_MODE LINKER)
|
||||
endmacro()
|
||||
endmacro()
|
||||
else()
|
||||
cmake_policy(GET CMP0091 __WINDOWS_CLANG_CMP0091)
|
||||
if(__WINDOWS_CLANG_CMP0091 STREQUAL "NEW")
|
||||
|
@ -18,8 +18,14 @@ CMAKE_SKIP_RPATH == "${CMAKE_SKIP_RPATH}"
|
||||
CMAKE_SYSTEM_INFO_FILE == "${CMAKE_SYSTEM_INFO_FILE}"
|
||||
CMAKE_SYSTEM_NAME == "${CMAKE_SYSTEM_NAME}"
|
||||
CMAKE_SYSTEM == "${CMAKE_SYSTEM}"
|
||||
CMAKE_CXX_COMPILER == "${CMAKE_CXX_COMPILER}"
|
||||
CMAKE_C_COMPILER == "${CMAKE_C_COMPILER}"
|
||||
CMAKE_C_COMPILER_ID == "${CMAKE_C_COMPILER_ID}"
|
||||
CMAKE_C_COMPILER_VERSION == "${CMAKE_C_COMPILER_VERSION}"
|
||||
CMAKE_C_COMPILER_ARCHITECTURE_ID == "${CMAKE_C_COMPILER_ARCHITECTURE_ID}"
|
||||
CMAKE_CXX_COMPILER == "${CMAKE_CXX_COMPILER}"
|
||||
CMAKE_CXX_COMPILER_ID == "${CMAKE_CXX_COMPILER_ID}"
|
||||
CMAKE_CXX_COMPILER_VERSION == "${CMAKE_CXX_COMPILER_VERSION}"
|
||||
CMAKE_CXX_COMPILER_ARCHITECTURE_ID == "${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}"
|
||||
CMAKE_COMPILER_IS_GNUCC == "${CMAKE_COMPILER_IS_GNUCC}"
|
||||
CMAKE_COMPILER_IS_GNUCXX == "${CMAKE_COMPILER_IS_GNUCXX}"
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- CMAKE_C_COMPILER='[^']+'
|
||||
-- CMAKE_C_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_C_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
-- CMAKE_C_COMPILER_ARCHITECTURE_ID='[A-Za-z0-9_;]+'
|
||||
|
@ -2,3 +2,4 @@ enable_language(C)
|
||||
message(STATUS "CMAKE_C_COMPILER='${CMAKE_C_COMPILER}'")
|
||||
message(STATUS "CMAKE_C_COMPILER_ID='${CMAKE_C_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_C_COMPILER_VERSION='${CMAKE_C_COMPILER_VERSION}'")
|
||||
message(STATUS "CMAKE_C_COMPILER_ARCHITECTURE_ID='${CMAKE_C_COMPILER_ARCHITECTURE_ID}'")
|
||||
|
@ -1,11 +1,13 @@
|
||||
(-- CMAKE_CUDA_COMPILER='[^']+'
|
||||
-- CMAKE_CUDA_COMPILER_ID='NVIDIA'
|
||||
-- CMAKE_CUDA_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
-- CMAKE_CUDA_COMPILER_ARCHITECTURE_ID='[A-Za-z0-9_;]+'
|
||||
-- CMAKE_CUDA_HOST_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_CUDA_HOST_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
|-- CMAKE_CUDA_COMPILER='[^']+'
|
||||
-- CMAKE_CUDA_COMPILER_ID='([^N]|N[^V]|NV[^I]|NVI[^D]|NVID[^I]|NVIDI[^A])[A-Za-z]*'
|
||||
-- CMAKE_CUDA_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
-- CMAKE_CUDA_COMPILER_ARCHITECTURE_ID='[A-Za-z0-9_;]+'
|
||||
-- CMAKE_CUDA_HOST_COMPILER_ID=''
|
||||
-- CMAKE_CUDA_HOST_COMPILER_VERSION=''
|
||||
)
|
||||
|
@ -2,5 +2,6 @@ enable_language(CUDA)
|
||||
message(STATUS "CMAKE_CUDA_COMPILER='${CMAKE_CUDA_COMPILER}'")
|
||||
message(STATUS "CMAKE_CUDA_COMPILER_ID='${CMAKE_CUDA_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_CUDA_COMPILER_VERSION='${CMAKE_CUDA_COMPILER_VERSION}'")
|
||||
message(STATUS "CMAKE_CUDA_COMPILER_ARCHITECTURE_ID='${CMAKE_CUDA_COMPILER_ARCHITECTURE_ID}'")
|
||||
message(STATUS "CMAKE_CUDA_HOST_COMPILER_ID='${CMAKE_CUDA_HOST_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_CUDA_HOST_COMPILER_VERSION='${CMAKE_CUDA_HOST_COMPILER_VERSION}'")
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- CMAKE_CXX_COMPILER='[^']+'
|
||||
-- CMAKE_CXX_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_CXX_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
-- CMAKE_CXX_COMPILER_ARCHITECTURE_ID='[A-Za-z0-9_;]+'
|
||||
|
@ -2,3 +2,4 @@ enable_language(CXX)
|
||||
message(STATUS "CMAKE_CXX_COMPILER='${CMAKE_CXX_COMPILER}'")
|
||||
message(STATUS "CMAKE_CXX_COMPILER_ID='${CMAKE_CXX_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_CXX_COMPILER_VERSION='${CMAKE_CXX_COMPILER_VERSION}'")
|
||||
message(STATUS "CMAKE_CXX_COMPILER_ARCHITECTURE_ID='${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}'")
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- CMAKE_Fortran_COMPILER='[^']+'
|
||||
-- CMAKE_Fortran_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_Fortran_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
-- CMAKE_Fortran_COMPILER_ARCHITECTURE_ID='[A-Za-z0-9_;]+'
|
||||
|
@ -2,3 +2,4 @@ enable_language(Fortran)
|
||||
message(STATUS "CMAKE_Fortran_COMPILER='${CMAKE_Fortran_COMPILER}'")
|
||||
message(STATUS "CMAKE_Fortran_COMPILER_ID='${CMAKE_Fortran_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_Fortran_COMPILER_VERSION='${CMAKE_Fortran_COMPILER_VERSION}'")
|
||||
message(STATUS "CMAKE_Fortran_COMPILER_ARCHITECTURE_ID='${CMAKE_Fortran_COMPILER_ARCHITECTURE_ID}'")
|
||||
|
@ -1,11 +1,13 @@
|
||||
(-- CMAKE_HIP_COMPILER='[^']+'
|
||||
-- CMAKE_HIP_COMPILER_ID='NVIDIA'
|
||||
-- CMAKE_HIP_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
-- CMAKE_HIP_COMPILER_ARCHITECTURE_ID='[A-Za-z0-9_;]+'
|
||||
-- CMAKE_HIP_HOST_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_HIP_HOST_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
|-- CMAKE_HIP_COMPILER='[^']+'
|
||||
-- CMAKE_HIP_COMPILER_ID='([^N]|N[^V]|NV[^I]|NVI[^D]|NVID[^I]|NVIDI[^A])[A-Za-z]*'
|
||||
-- CMAKE_HIP_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
-- CMAKE_HIP_COMPILER_ARCHITECTURE_ID='[A-Za-z0-9_;]+'
|
||||
-- CMAKE_HIP_HOST_COMPILER_ID=''
|
||||
-- CMAKE_HIP_HOST_COMPILER_VERSION=''
|
||||
)
|
||||
|
@ -2,5 +2,6 @@ enable_language(HIP)
|
||||
message(STATUS "CMAKE_HIP_COMPILER='${CMAKE_HIP_COMPILER}'")
|
||||
message(STATUS "CMAKE_HIP_COMPILER_ID='${CMAKE_HIP_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_HIP_COMPILER_VERSION='${CMAKE_HIP_COMPILER_VERSION}'")
|
||||
message(STATUS "CMAKE_HIP_COMPILER_ARCHITECTURE_ID='${CMAKE_HIP_COMPILER_ARCHITECTURE_ID}'")
|
||||
message(STATUS "CMAKE_HIP_HOST_COMPILER_ID='${CMAKE_HIP_HOST_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_HIP_HOST_COMPILER_VERSION='${CMAKE_HIP_HOST_COMPILER_VERSION}'")
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- CMAKE_OBJC_COMPILER='[^']+'
|
||||
-- CMAKE_OBJC_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_OBJC_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
-- CMAKE_OBJC_COMPILER_ARCHITECTURE_ID='[A-Za-z0-9_;]+'
|
||||
|
@ -2,3 +2,4 @@ enable_language(OBJC)
|
||||
message(STATUS "CMAKE_OBJC_COMPILER='${CMAKE_OBJC_COMPILER}'")
|
||||
message(STATUS "CMAKE_OBJC_COMPILER_ID='${CMAKE_OBJC_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_OBJC_COMPILER_VERSION='${CMAKE_OBJC_COMPILER_VERSION}'")
|
||||
message(STATUS "CMAKE_OBJC_COMPILER_ARCHITECTURE_ID='${CMAKE_OBJC_COMPILER_ARCHITECTURE_ID}'")
|
||||
|
@ -1,3 +1,4 @@
|
||||
-- CMAKE_OBJCXX_COMPILER='[^']+'
|
||||
-- CMAKE_OBJCXX_COMPILER_ID='[A-Za-z]+'
|
||||
-- CMAKE_OBJCXX_COMPILER_VERSION='([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?'
|
||||
-- CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID='[A-Za-z0-9_;]+'
|
||||
|
@ -2,3 +2,4 @@ enable_language(OBJCXX)
|
||||
message(STATUS "CMAKE_OBJCXX_COMPILER='${CMAKE_OBJCXX_COMPILER}'")
|
||||
message(STATUS "CMAKE_OBJCXX_COMPILER_ID='${CMAKE_OBJCXX_COMPILER_ID}'")
|
||||
message(STATUS "CMAKE_OBJCXX_COMPILER_VERSION='${CMAKE_OBJCXX_COMPILER_VERSION}'")
|
||||
message(STATUS "CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID='${CMAKE_OBJCXX_COMPILER_ARCHITECTURE_ID}'")
|
||||
|
@ -19,6 +19,7 @@ CMAKE_COMPILER_IS_GNUCC == "${CMAKE_COMPILER_IS_GNUCC}"
|
||||
CMAKE_COMPILER_IS_GNUCXX == "${CMAKE_COMPILER_IS_GNUCXX}"
|
||||
CMAKE_C_COMPILER_ID == "${CMAKE_C_COMPILER_ID}"
|
||||
CMAKE_C_COMPILER_VERSION == "${CMAKE_C_COMPILER_VERSION}"
|
||||
CMAKE_C_COMPILER_ARCHITECTURE_ID == "${CMAKE_C_COMPILER_ARCHITECTURE_ID}"
|
||||
CMAKE_C90_STANDARD_COMPILE_OPTION == "${CMAKE_C90_STANDARD_COMPILE_OPTION}"
|
||||
CMAKE_C99_STANDARD_COMPILE_OPTION == "${CMAKE_C99_STANDARD_COMPILE_OPTION}"
|
||||
CMAKE_C11_STANDARD_COMPILE_OPTION == "${CMAKE_C11_STANDARD_COMPILE_OPTION}"
|
||||
@ -31,6 +32,7 @@ CMAKE_C99_COMPILE_FEATURES == "${CMAKE_C99_COMPILE_FEATURES}"
|
||||
CMAKE_C11_COMPILE_FEATURES == "${CMAKE_C11_COMPILE_FEATURES}"
|
||||
CMAKE_CXX_COMPILER_ID == "${CMAKE_CXX_COMPILER_ID}"
|
||||
CMAKE_CXX_COMPILER_VERSION == "${CMAKE_CXX_COMPILER_VERSION}"
|
||||
CMAKE_CXX_COMPILER_ARCHITECTURE_ID == "${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}"
|
||||
CMAKE_CXX98_STANDARD_COMPILE_OPTION == "${CMAKE_CXX98_STANDARD_COMPILE_OPTION}"
|
||||
CMAKE_CXX11_STANDARD_COMPILE_OPTION == "${CMAKE_CXX11_STANDARD_COMPILE_OPTION}"
|
||||
CMAKE_CXX98_EXTENSION_COMPILE_OPTION == "${CMAKE_CXX98_EXTENSION_COMPILE_OPTION}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user