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