mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-05-09 03:41:10 +08:00
62 lines
2.2 KiB
CMake
62 lines
2.2 KiB
CMake
macro(SDL_DetectCMakePlatform)
|
|
set(SDL_CMAKE_PLATFORM )
|
|
# Get the platform
|
|
if(WIN32)
|
|
set(SDL_CMAKE_PLATFORM WINDOWS)
|
|
elseif(UNIX AND NOT APPLE)
|
|
if(CMAKE_SYSTEM_NAME MATCHES ".*Linux")
|
|
set(SDL_CMAKE_PLATFORM LINUX)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "kFreeBSD.*")
|
|
set(SDL_CMAKE_PLATFORM FREEBSD)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "kNetBSD.*|NetBSD.*")
|
|
set(SDL_CMAKE_PLATFORM NETBSD)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "kOpenBSD.*|OpenBSD.*")
|
|
set(SDL_CMAKE_PLATFORM OPENBSD)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES ".*GNU.*")
|
|
set(SDL_CMAKE_PLATFORM GNU)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*")
|
|
set(SDL_CMAKE_PLATFORM BSDI)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "DragonFly.*|FreeBSD")
|
|
set(SDL_CMAKE_PLATFORM FREEBSD)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "SYSV5.*")
|
|
set(SDL_CMAKE_PLATFORM SYSV5)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Solaris.*|SunOS.*")
|
|
set(SDL_CMAKE_PLATFORM SOLARIS)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "HP-UX.*")
|
|
set(SDL_CMAKE_PLATFORM HPUX)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "AIX.*")
|
|
set(SDL_CMAKE_PLATFORM AIX)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Minix.*")
|
|
set(SDL_CMAKE_PLATFORM MINIX)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "QNX")
|
|
set(SDL_CMAKE_PLATFORM QNX)
|
|
endif()
|
|
elseif(APPLE)
|
|
if(CMAKE_SYSTEM_NAME MATCHES ".*(Darwin|MacOS).*")
|
|
set(SDL_CMAKE_PLATFORM MACOS)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES ".*tvOS.*")
|
|
set(SDL_CMAKE_PLATFORM TVOS)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES ".*iOS.*")
|
|
# !!! FIXME: remove the version check when we start requiring >= 3.14.0
|
|
if(CMAKE_VERSION VERSION_LESS 3.14)
|
|
set(SDL_CMAKE_PLATFORM IOS)
|
|
endif()
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES ".*watchOS.*")
|
|
set(SDL_CMAKE_PLATFORM WATCHOS)
|
|
elseif (CMAKE_SYSTEM_NAME MATCHES "visionOS")
|
|
set(SDL_CMAKE_PLATFORM VISIONOS)
|
|
endif()
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "BeOS.*")
|
|
message_error("BeOS support has been removed as of SDL 2.0.2.")
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Haiku.*")
|
|
set(SDL_CMAKE_PLATFORM HAIKU)
|
|
elseif(NINTENDO_3DS)
|
|
set(SDL_CMAKE_PLATFORM N3DS)
|
|
elseif(OS2)
|
|
set(SDL_CMAKE_PLATFORM OS2)
|
|
endif()
|
|
if(SDL_CMAKE_PLATFORM)
|
|
set(${SDL_CMAKE_PLATFORM} TRUE)
|
|
endif()
|
|
endmacro()
|