|
@@ -0,0 +1,55 @@
|
|
|
+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)
|
|
|
+ endif()
|
|
|
+ elseif(APPLE)
|
|
|
+ if(CMAKE_SYSTEM_NAME MATCHES ".*Darwin.*")
|
|
|
+ set(SDL_CMAKE_PLATFORM DARWIN)
|
|
|
+ elseif(CMAKE_SYSTEM_NAME MATCHES ".*MacOS.*")
|
|
|
+ set(SDL_CMAKE_PLATFORM MACOSX)
|
|
|
+ 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()
|
|
|
+ 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)
|
|
|
+ endif()
|
|
|
+ if(SDL_CMAKE_PLATFORM)
|
|
|
+ set(${SDL_CMAKE_PLATFORM} TRUE)
|
|
|
+ endif()
|
|
|
+endmacro()
|