diff options
Diffstat (limited to 'Tests/RunCMake/ABI/CXX.cmake')
-rw-r--r-- | Tests/RunCMake/ABI/CXX.cmake | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Tests/RunCMake/ABI/CXX.cmake b/Tests/RunCMake/ABI/CXX.cmake new file mode 100644 index 0000000..2310002 --- /dev/null +++ b/Tests/RunCMake/ABI/CXX.cmake @@ -0,0 +1,22 @@ +enable_language(CXX) +if(NOT CMAKE_CXX_BYTE_ORDER MATCHES "^(BIG_ENDIAN|LITTLE_ENDIAN)$") + if(CMAKE_OSX_ARCHITECTURES MATCHES ";ppc|ppc;") + return() + endif() + message(FATAL_ERROR "CMAKE_CXX_BYTE_ORDER has unexpected value '${CMAKE_CXX_BYTE_ORDER}'") +endif() + +include(TestBigEndian) +test_big_endian(IS_BIG_ENDIAN) +if(IS_BIG_ENDIAN AND NOT CMAKE_CXX_BYTE_ORDER STREQUAL "BIG_ENDIAN") + message(FATAL_ERROR "test_big_endian result does not match ABI result") +endif() + +# Test legacy check. +set(byte_order "${CMAKE_CXX_BYTE_ORDER}") +unset(CMAKE_CXX_BYTE_ORDER) +include(TestBigEndian) +test_big_endian(IS_BIG) +if(IS_BIG AND NOT byte_order STREQUAL "BIG_ENDIAN") + message(FATAL_ERROR "test_big_endian result does not match ABI result") +endif() |