12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 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()
|