From 6aaedb813fa11ba0679c3051bc2eb28646b9506c Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sat, 30 Aug 2025 16:53:58 -0700 Subject: Update to SDL3 --- .../cmake/android/FindSdlAndroidPlatform.cmake | 124 +++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 src/contrib/SDL-3.2.20/cmake/android/FindSdlAndroidPlatform.cmake (limited to 'src/contrib/SDL-3.2.20/cmake/android/FindSdlAndroidPlatform.cmake') diff --git a/src/contrib/SDL-3.2.20/cmake/android/FindSdlAndroidPlatform.cmake b/src/contrib/SDL-3.2.20/cmake/android/FindSdlAndroidPlatform.cmake new file mode 100644 index 0000000..fbe53c3 --- /dev/null +++ b/src/contrib/SDL-3.2.20/cmake/android/FindSdlAndroidPlatform.cmake @@ -0,0 +1,124 @@ +#[=======================================================================[ + +FindSdlAndroidPlatform +---------------------- + +Locate the Android SDK platform. + + +Imported targets +^^^^^^^^^^^^^^^^ + +This module defines the following :prop_tgt:`IMPORTED` target(s): + + + +Result variables +^^^^^^^^^^^^^^^^ + +This find module will set the following variables in your project: + +`` SdlAndroidPlatform_FOUND + if false, no Android platform has been found + +`` SDL_ANDROID_PLATFORM_ROOT + path of the Android SDK platform root directory if found + +`` SDL_ANDROID_PLATFORM_ANDROID_JAR + path of the Android SDK platform jar file if found + +`` SDL_ANDROID_PLATFORM_VERSION + the human-readable string containing the android platform version if found + +Cache variables +^^^^^^^^^^^^^^^ + +These variables may optionally be set to help this module find the correct files: + +``SDL_ANDROID_PLATFORM_ROOT`` + path of the Android SDK platform root directory + + +Variables for locating Android platform +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +This module responds to the flags: + +``SDL_ANDROID_HOME + First, this module will look for platforms in this CMake variable. + +``ANDROID_HOME + If no platform was found in `SDL_ANDROID_HOME`, then try `ANDROID_HOME`. + +``$ENV{ANDROID_HOME} + If no platform was found in neither `SDL_ANDROID_HOME` or `ANDROID_HOME`, then try `ANDROID_HOME}` + +#]=======================================================================] + +cmake_minimum_required(VERSION 3.7...3.28) + +if(NOT PROJECT_NAME MATCHES "^SDL.*") + message(WARNING "This module is internal to SDL and is currently not supported.") +endif() + +function(_sdl_is_valid_android_platform_root RESULT VERSION PLATFORM_ROOT) + set(result FALSE) + set(version -1) + + string(REGEX MATCH "/android-([0-9]+)$" root_match "${PLATFORM_ROOT}") + if(root_match AND EXISTS "${PLATFORM_ROOT}/android.jar") + set(result TRUE) + set(version "${CMAKE_MATCH_1}") + endif() + + set(${RESULT} ${result} PARENT_SCOPE) + set(${VERSION} ${version} PARENT_SCOPE) +endfunction() + +function(_sdl_find_android_platform_root ROOT) + cmake_parse_arguments(sfapr "" "" "" ${ARGN}) + set(homes ${SDL_ANDROID_HOME} ${ANDROID_HOME} $ENV{ANDROID_HOME}) + set(root ${ROOT}-NOTFOUND) + foreach(home IN LISTS homes) + if(NOT IS_DIRECTORY "${home}") + continue() + endif() + file(GLOB platform_roots LIST_DIRECTORIES true "${home}/platforms/*") + set(max_platform_version -1) + set(max_platform_root "") + foreach(platform_root IN LISTS platform_roots) + _sdl_is_valid_android_platform_root(is_valid platform_version "${platform_root}") + if(is_valid AND platform_version GREATER max_platform_version) + set(max_platform_version "${platform_version}") + set(max_platform_root "${platform_root}") + endif() + endforeach() + if(max_platform_version GREATER -1) + set(root ${max_platform_root}) + break() + endif() + endforeach() + set(${ROOT} ${root} PARENT_SCOPE) +endfunction() + +set(SDL_ANDROID_PLATFORM_ANDROID_JAR "SDL_ANDROID_PLATFORM_ANDROID_JAR-NOTFOUND") + +if(NOT DEFINED SDL_ANDROID_PLATFORM_ROOT) + _sdl_find_android_platform_root(_new_sdl_android_platform_root) + set(SDL_ANDROID_PLATFORM_ROOT "${_new_sdl_android_platform_root}" CACHE PATH "Path of Android platform") + unset(_new_sdl_android_platform_root) +endif() +if(SDL_ANDROID_PLATFORM_ROOT) + _sdl_is_valid_android_platform_root(_valid SDL_ANDROID_PLATFORM_VERSION "${SDL_ANDROID_PLATFORM_ROOT}") + if(_valid) + set(SDL_ANDROID_PLATFORM_ANDROID_JAR "${SDL_ANDROID_PLATFORM_ROOT}/android.jar") + endif() + unset(_valid) +endif() + +include(FindPackageHandleStandardArgs) + +find_package_handle_standard_args(SdlAndroidPlatform + VERSION_VAR SDL_ANDROID_PLATFORM_VERSION + REQUIRED_VARS SDL_ANDROID_PLATFORM_ROOT SDL_ANDROID_PLATFORM_ANDROID_JAR +) -- cgit v1.2.3