1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-09-02 11:29:10 +00:00

Change: [CMake] use CMAKE_CXX_BYTE_ORDER for EndianCheck

This commit is contained in:
Patric Stout
2025-01-27 20:15:18 +01:00
parent 3dc12e3d65
commit 6d33da99d4

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()