1
0
Fork 0

Change: [CMake] use CMAKE_CXX_BYTE_ORDER for EndianCheck

pull/13394/head
Patric Stout 2025-01-27 20:15:18 +01:00
parent 3dc12e3d65
commit 6d33da99d4
1 changed files with 14 additions and 5 deletions

View File

@ -3,12 +3,21 @@
# add_endian_definition()
#
function(add_endian_definition)
include(TestBigEndian)
TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
if(CMAKE_VERSION VERSION_LESS "3.20.0")
include(TestBigEndian)
TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
if(IS_BIG_ENDIAN)
add_definitions(-DTTD_ENDIAN=TTD_BIG_ENDIAN)
if(IS_BIG_ENDIAN)
add_definitions(-DTTD_ENDIAN=TTD_BIG_ENDIAN)
else()
add_definitions(-DTTD_ENDIAN=TTD_LITTLE_ENDIAN)
endif()
else()
add_definitions(-DTTD_ENDIAN=TTD_LITTLE_ENDIAN)
# Since CMake 3.20, the TestBigEndian module is deprecated and the byte order is available directly.
if(CMAKE_CXX_BYTE_ORDER STREQUAL "BIG_ENDIAN" OR CMAKE_OBJCXX_BYTE_ORDER STREQUAL "BIG_ENDIAN")
add_definitions(-DTTD_ENDIAN=TTD_BIG_ENDIAN)
else()
add_definitions(-DTTD_ENDIAN=TTD_LITTLE_ENDIAN)
endif()
endif()
endfunction()