| function(SDL_DetectCMakePlatform) |
| set(sdl_cmake_platform ) |
| if(WIN32) |
| set(sdl_cmake_platform Windows) |
| elseif(PSP) |
| set(sdl_cmake_platform psp) |
| 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.*") |
| set(sdl_cmake_platform iOS) |
| elseif(CMAKE_SYSTEM_NAME MATCHES ".*watchOS.*") |
| set(sdl_cmake_platform watchOS) |
| elseif (CMAKE_SYSTEM_NAME MATCHES "visionOS") |
| set(sdl_cmake_platform visionOS) |
| else() |
| message(WARNING "Unknown Apple platform: \"${CMAKE_SYSTEM_NAME}\"") |
| endif() |
| elseif(CMAKE_SYSTEM_NAME MATCHES "Haiku.*") |
| set(sdl_cmake_platform Haiku) |
| elseif(NINTENDO_3DS) |
| set(sdl_cmake_platform n3ds) |
| elseif(PS2) |
| set(sdl_cmake_platform ps2) |
| elseif(VITA) |
| set(sdl_cmake_platform Vita) |
| elseif(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 "Android.*") |
| set(sdl_cmake_platform Android) |
| elseif(CMAKE_SYSTEM_NAME MATCHES "Emscripten.*") |
| set(sdl_cmake_platform Emscripten) |
| elseif(CMAKE_SYSTEM_NAME MATCHES "QNX.*") |
| set(sdl_cmake_platform QNX) |
| elseif(CMAKE_SYSTEM_NAME MATCHES "BeOS.*") |
| message(FATAL_ERROR "BeOS support has been removed as of SDL 2.0.2.") |
| endif() |
| |
| if(sdl_cmake_platform) |
| string(TOUPPER "${sdl_cmake_platform}" _upper_platform) |
| set("${_upper_platform}" TRUE PARENT_SCOPE) |
| else() |
| set(sdl_cmake_platform "unknown") |
| endif() |
| set(SDL_CMAKE_PLATFORM "${sdl_cmake_platform}" PARENT_SCOPE) |
| endfunction() |