blob: 932507a2113fbb2eff2c0a0a96bd92d4179d79f2 [file] [log] [blame]
# =============================================================================
# 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}")