mirror of
https://github.com/0O0o0oOoO00/Alas.git
synced 2026-05-14 13:39:25 +08:00
87 lines
2.7 KiB
CMake
87 lines
2.7 KiB
CMake
|
|
if(__BUILD_ENVIRONMENT_CHECK)
|
||
|
|
return()
|
||
|
|
endif()
|
||
|
|
set(__BUILD_ENVIRONMENT_CHECK TRUE)
|
||
|
|
|
||
|
|
message(STATUS "")
|
||
|
|
message(STATUS "********* build environment check ***********")
|
||
|
|
|
||
|
|
|
||
|
|
# The Compiler ID
|
||
|
|
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
|
||
|
|
set(COMPILER.Clang 1)
|
||
|
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||
|
|
set(COMPILER.Gcc 1)
|
||
|
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
||
|
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||
|
|
set(COMPILER.MSVC 1)
|
||
|
|
else()
|
||
|
|
message (FATAL_ERROR "Compiler ${CMAKE_CXX_COMPILER_ID} not configured")
|
||
|
|
endif()
|
||
|
|
message(STATUS "\tCompiler: \t ${CMAKE_CXX_COMPILER_ID}")
|
||
|
|
|
||
|
|
if(MSVC)
|
||
|
|
string(TOLOWER ${MSVC_CXX_ARCHITECTURE_ID} CMAKE_SYSTEM_PROCESSOR)
|
||
|
|
set(CMAKE_SYSTEM_PROCESSOR ${MSVC_CXX_ARCHITECTURE_ID})
|
||
|
|
endif()
|
||
|
|
|
||
|
|
|
||
|
|
if(BUILDING_SILICON)
|
||
|
|
set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_OSX_ARCHITECTURES})
|
||
|
|
endif()
|
||
|
|
|
||
|
|
string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} CMAKE_SYSTEM_PROCESSOR)
|
||
|
|
|
||
|
|
# The Processor
|
||
|
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*|x64.*")
|
||
|
|
set(PROCESSOR.X86_64 1)
|
||
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*")
|
||
|
|
set(PROCESSOR.X86 1)
|
||
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm64.*")
|
||
|
|
set(PROCESSOR.AARCH64 1)
|
||
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)")
|
||
|
|
set(PROCESSOR.AARCH64 1)
|
||
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)")
|
||
|
|
set(PROCESSOR.ARM 1)
|
||
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64le")
|
||
|
|
message(STATUS "NOT SUPPORT ${CMAKE_SYSTEM_PROCESSOR}")
|
||
|
|
set(PROCESSOR.PPC64LE 1)
|
||
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64")
|
||
|
|
message(STATUS "NOT SUPPORT ${CMAKE_SYSTEM_PROCESSOR}")
|
||
|
|
set(PROCESSOR.PPC64 1)
|
||
|
|
else()
|
||
|
|
message (FATAL_ERROR "Processor ${CMAKE_SYSTEM_PROCESSOR} not configured")
|
||
|
|
endif()
|
||
|
|
message(STATUS "\tProcessor:\t ${CMAKE_SYSTEM_PROCESSOR}")
|
||
|
|
|
||
|
|
# The System
|
||
|
|
if(CMAKE_SYSTEM_NAME MATCHES "^Android")
|
||
|
|
set(SYSTEM.Android 1)
|
||
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "^Windows")
|
||
|
|
set(SYSTEM.Windows 1)
|
||
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "^Linux")
|
||
|
|
set(SYSTEM.Linux 1)
|
||
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "^iOS")
|
||
|
|
set(SYSTEM.iOS 1)
|
||
|
|
set(SYSTEM.Darwin 1)
|
||
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "^macOS")
|
||
|
|
set(SYSTEM.macOS 1)
|
||
|
|
set(SYSTEM.Darwin 1)
|
||
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "^Darwin")
|
||
|
|
if(PROCESSOR.AARCH64 OR PROCESSOR.ARM)
|
||
|
|
set(CMAKE_SYSTEM_NAME "iOS or Silicon")
|
||
|
|
set(SYSTEM.iOS 1)
|
||
|
|
set(SYSTEM.Silicon 1)
|
||
|
|
elseif(PROCESSOR.X86 OR PROCESSOR.X86_64)
|
||
|
|
set(CMAKE_SYSTEM_NAME "macOS")
|
||
|
|
set(SYSTEM.macOS 1)
|
||
|
|
endif()
|
||
|
|
set(SYSTEM.Darwin 1)
|
||
|
|
else()
|
||
|
|
message (FATAL_ERROR "System ${CMAKE_SYSTEM_NAME} not configured")
|
||
|
|
endif()
|
||
|
|
message(STATUS "\tSystem: \t ${CMAKE_SYSTEM_NAME}")
|
||
|
|
|
||
|
|
message(STATUS "***************************************")
|
||
|
|
message(STATUS "")
|