CMakeDetermineCompilerABI: require more variables to skip checks

These variables were missed in the addition of the feature.

Fixes: #27894
This commit is contained in:
Ben Boeckel
2026-06-24 11:38:50 -04:00
committed by Brad King
parent e13c32153b
commit 170248fbcb
7 changed files with 56 additions and 2 deletions
+3
View File
@@ -16,6 +16,9 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
set(abi_variables
CMAKE_${lang}_COMPILER_WORKS
CMAKE_${lang}_COMPILER_ARCHITECTURE_ID
CMAKE_${lang}_SIZEOF_DATA_PTR
CMAKE_${lang}_BYTE_ORDER
CMAKE_${lang}_COMPILER_ABI
CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES
CMAKE_${lang}_COMPILER_LINKER
CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES
@@ -13,7 +13,10 @@ set(vars
CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
CMAKE_C_LIBRARY_ARCHITECTURE
CMAKE_C_COMPILE_FEATURES
CMAKE_C_USE_LINKER_INFORMATION)
CMAKE_C_USE_LINKER_INFORMATION
CMAKE_C_SIZEOF_DATA_PTR
CMAKE_C_BYTE_ORDER
CMAKE_C_COMPILER_ABI)
foreach (std IN ITEMS 23 17 11 99 90)
list(APPEND vars
CMAKE_C${std}_COMPILE_FEATURES)
@@ -1 +1,15 @@
enable_language(C)
# See #27894
if (NOT CMAKE_SIZEOF_VOID_P)
message(FATAL_ERROR
"`CMAKE_SIZEOF_VOID_P` not initialized from toolchain data")
endif ()
if (CMAKE_C_COMPILER_ABI AND NOT CMAKE_INTERNAL_PLATFORM_ABI)
message(FATAL_ERROR
"`CMAKE_INTERNAL_PLATFORM_ABI` not initialized from toolchain data")
endif ()
if (CMAKE_C_LIBRARY_ARCHITECTURE AND NOT CMAKE_LIBRARY_ARCHITECTURE)
message(FATAL_ERROR
"`CMAKE_LIBRARY_ARCHITECTURE` not initialized from toolchain data")
endif ()
@@ -14,6 +14,9 @@ set(vars
CMAKE_CXX_LIBRARY_ARCHITECTURE
CMAKE_CXX_COMPILE_FEATURES
CMAKE_CXX_USE_LINKER_INFORMATION
CMAKE_CXX_SIZEOF_DATA_PTR
CMAKE_CXX_BYTE_ORDER
CMAKE_CXX_COMPILER_ABI
CMAKE_CXX_COMPILER_IMPORT_STD
CMAKE_CXX_STDLIB_MODULES_JSON)
@@ -1 +1,15 @@
enable_language(CXX)
# See #27894
if (NOT CMAKE_SIZEOF_VOID_P)
message(FATAL_ERROR
"`CMAKE_SIZEOF_VOID_P` not initialized from toolchain data")
endif ()
if (CMAKE_CXX_COMPILER_ABI AND NOT CMAKE_INTERNAL_PLATFORM_ABI)
message(FATAL_ERROR
"`CMAKE_INTERNAL_PLATFORM_ABI` not initialized from toolchain data")
endif ()
if (CMAKE_CXX_LIBRARY_ARCHITECTURE AND NOT CMAKE_LIBRARY_ARCHITECTURE)
message(FATAL_ERROR
"`CMAKE_LIBRARY_ARCHITECTURE` not initialized from toolchain data")
endif ()
@@ -13,6 +13,9 @@ set(vars
CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES
CMAKE_Fortran_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
CMAKE_Fortran_LIBRARY_ARCHITECTURE
CMAKE_Fortran_USE_LINKER_INFORMATION)
CMAKE_Fortran_USE_LINKER_INFORMATION
CMAKE_Fortran_SIZEOF_DATA_PTR
CMAKE_Fortran_BYTE_ORDER
CMAKE_Fortran_COMPILER_ABI)
include("${CMAKE_CURRENT_LIST_DIR}/write-toolchain.cmake")
@@ -1 +1,15 @@
enable_language(Fortran)
# See #27894
if (NOT CMAKE_SIZEOF_VOID_P)
message(FATAL_ERROR
"`CMAKE_SIZEOF_VOID_P` not initialized from toolchain data")
endif ()
if (CMAKE_Fortran_PLATFORM_ABI AND NOT CMAKE_INTERNAL_PLATFORM_ABI)
message(FATAL_ERROR
"`CMAKE_INTERNAL_PLATFORM_ABI` not initialized from toolchain data")
endif ()
if (CMAKE_Fortran_LIBRARY_ARCHITECTURE AND NOT CMAKE_LIBRARY_ARCHITECTURE)
message(FATAL_ERROR
"`CMAKE_LIBRARY_ARCHITECTURE` not initialized from toolchain data")
endif ()