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() # add_endian_definition()
# #
function(add_endian_definition) function(add_endian_definition)
include(TestBigEndian) if(CMAKE_VERSION VERSION_LESS "3.20.0")
TEST_BIG_ENDIAN(IS_BIG_ENDIAN) include(TestBigEndian)
TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
if(IS_BIG_ENDIAN) if(IS_BIG_ENDIAN)
add_definitions(-DTTD_ENDIAN=TTD_BIG_ENDIAN) add_definitions(-DTTD_ENDIAN=TTD_BIG_ENDIAN)
else()
add_definitions(-DTTD_ENDIAN=TTD_LITTLE_ENDIAN)
endif()
else() 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() endif()
endfunction() endfunction()