if(HAIKU) include(platforms/haiku) endif() if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|OpenBSD|DragonFly|NetBSD") if(CMAKE_SYSTEM_NAME MATCHES "NetBSD") add_definitions(-D_NETBSD_SOURCE) else() add_definitions(-D_BSD_SOURCE) set(UBSAN OFF) endif() set(ASAN OFF) add_definitions(-DO_LARGEFILE=0 -Dstat64=stat -Dlstat64=lstat -Dlseek64=lseek -Doff64_t=off_t -Dfstat64=fstat -Dftruncate64=ftruncate) endif() set(TARGET_PLATFORM host CACHE STRING "Target platform") set_property(CACHE TARGET_PLATFORM PROPERTY STRINGS host retrofw rg99 rg350 gkd350h cpigamesh miyoo_mini windows9x windowsXP) if(TARGET_PLATFORM STREQUAL "retrofw") include(platforms/retrofw) elseif(TARGET_PLATFORM STREQUAL "rg99") include(platforms/rg99) elseif(TARGET_PLATFORM STREQUAL "rg350") include(platforms/rg350) elseif(TARGET_PLATFORM STREQUAL "gkd350h") include(platforms/gkd350h) elseif(TARGET_PLATFORM STREQUAL "cpigamesh") include(platforms/cpigamesh) elseif(TARGET_PLATFORM STREQUAL "lepus") include(platforms/lepus) elseif(TARGET_PLATFORM STREQUAL "miyoo_mini") include(platforms/miyoo_mini) elseif(TARGET_PLATFORM STREQUAL "windows9x") include(platforms/windows9x) elseif(TARGET_PLATFORM STREQUAL "windowsXP") include(platforms/windowsXP) elseif(TARGET_PLATFORM STREQUAL "dos") include(platforms/dos) elseif(WIN32) include(platforms/windows) endif() if(NINTENDO_SWITCH) include(platforms/switch) endif() if(AMIGA) include(platforms/amiga) endif() if(NINTENDO_3DS) include(platforms/n3ds) endif() if(VITA) include("$ENV{VITASDK}/share/vita.cmake" REQUIRED) include(platforms/vita) endif() if(PS4) include(platforms/ps4) endif() if(ANDROID) include(platforms/android) endif() if(IOS) include(platforms/ios) endif() if(EMSCRIPTEN) include(platforms/emscripten) endif() if(UWP_LIB) include(platforms/uwp_lib) endif() if(NXDK) include(platforms/xbox_nxdk) endif() if(CMAKE_SYSTEM_NAME MATCHES "Darwin") # Some notable Darwin (macOS kernel) versions are: # 8.x == macOS 10.4 (Tiger) # 9.x == macOS 10.5 (Leopard) # # Importantly, a lot of the APIs first appeared in version 9, including # the feature availability API (the header). # # For Darwin 8 and below, we have to rely on the kernel version # to detect available APIs. string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_SYSTEM_VERSION}") string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\2" DARWIN_MINOR_VERSION "${CMAKE_SYSTEM_VERSION}") if(DARWIN_MAJOR_VERSION VERSION_EQUAL 8) include(platforms/macos_tiger) endif() # For older macOS, we assume MacPorts because Homebrew only supports newer version if(DARWIN_MAJOR_VERSION VERSION_LESS 11) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/platforms/macports/finders") # On MacPorts, libfmt is in a subdirectory: list(APPEND CMAKE_MODULE_PATH "/opt/local/lib/libfmt11/cmake") endif() endif()