# ============================================================================= | |
# CMake module getting some properties from the current platform | |
# ============================================================================= | |
message (STATUS "****** Looking for system information ******") | |
# Endianness testing (answer in variable SYSTEM_IS_BIG_ENDIAN) | |
include (TestBigEndian) | |
test_big_endian (SYSTEM_IS_BIG_ENDIAN) | |
if (SYSTEM_IS_BIG_ENDIAN) | |
set (SYSTEM_IS_BIG_ENDIAN_STR Yes) | |
else () | |
set (SYSTEM_IS_BIG_ENDIAN_STR No) | |
endif () | |
# Processors testing (answer in variable SYSTEM_NB_OF_PROC) | |
include (ProcessorCount) | |
ProcessorCount (SYSTEM_NB_OF_PROC) | |
# Checking type size (result in bytes) | |
include (CheckTypeSize) | |
check_type_size (int INT_SIZE LANGUAGE CXX) | |
check_type_size (short SHORT_INT_SIZE LANGUAGE CXX) | |
check_type_size (long LONG_INT_SIZE LANGUAGE CXX) | |
check_type_size (char CHAR_SIZE LANGUAGE CXX) | |
# Report | |
message (STATUS "System : ${CMAKE_SYSTEM}-${CMAKE_SYSTEM_PROCESSOR}") | |
message (STATUS "System (CMake var): WIN32=${WIN32} MINGW=${MINGW} UNIX=${UNIX} MSYS=${MSYS} CYGWIN=${CYGWIN}") | |
message (STATUS "Big-endian : ${SYSTEM_IS_BIG_ENDIAN_STR}") | |
message (STATUS "Types size (bytes): int=${INT_SIZE} shortint=${SHORT_INT_SIZE} longint=${LONG_INT_SIZE} char=${CHAR_SIZE}") | |
message (STATUS "Nb of processors : ${SYSTEM_NB_OF_PROC}") | |