diff --git a/cmake/Endian.cmake b/cmake/Endian.cmake index 3bfba653ca..676208bf87 100644 --- a/cmake/Endian.cmake +++ b/cmake/Endian.cmake @@ -3,12 +3,23 @@ # 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) + else() + add_definitions(-DTTD_ENDIAN=TTD_LITTLE_ENDIAN) + endif() - if(IS_BIG_ENDIAN) - add_definitions(-DTTD_ENDIAN=TTD_BIG_ENDIAN) else() - add_definitions(-DTTD_ENDIAN=TTD_LITTLE_ENDIAN) + if(CMAKE__BYTE_ORDER EQUAL BIG_ENDIAN) + add_definitions(-DTTD_ENDIAN=TTD_BIG_ENDIAN) + else() + add_definitions(-DTTD_ENDIAN=TTD_LITTLE_ENDIAN) + endif() + endif() + endfunction()