23 lines
		
	
	
		
			728 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			728 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
| enable_language(C)
 | |
| if(NOT CMAKE_C_BYTE_ORDER MATCHES "^(BIG_ENDIAN|LITTLE_ENDIAN)$")
 | |
|   if(CMAKE_OSX_ARCHITECTURES MATCHES ";ppc|ppc;")
 | |
|     return()
 | |
|   endif()
 | |
|   message(FATAL_ERROR "CMAKE_C_BYTE_ORDER has unexpected value '${CMAKE_C_BYTE_ORDER}'")
 | |
| endif()
 | |
| 
 | |
| include(TestBigEndian)
 | |
| test_big_endian(IS_BIG_ENDIAN)
 | |
| if(IS_BIG_ENDIAN AND NOT CMAKE_C_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_C_BYTE_ORDER}")
 | |
| unset(CMAKE_C_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()
 |