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/FindSdlAndroidBuildTools.cmake | 115 +++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 src/contrib/SDL-3.2.20/cmake/android/FindSdlAndroidBuildTools.cmake (limited to 'src/contrib/SDL-3.2.20/cmake/android/FindSdlAndroidBuildTools.cmake') diff --git a/src/contrib/SDL-3.2.20/cmake/android/FindSdlAndroidBuildTools.cmake b/src/contrib/SDL-3.2.20/cmake/android/FindSdlAndroidBuildTools.cmake new file mode 100644 index 0000000..999a268 --- /dev/null +++ b/src/contrib/SDL-3.2.20/cmake/android/FindSdlAndroidBuildTools.cmake @@ -0,0 +1,115 @@ +#[=======================================================================[ + +FindSdlAndroidBuildTools +---------------------- + +Locate the Android build tools directory. + + +Imported targets +^^^^^^^^^^^^^^^^ + +This find module defines the following :prop_tgt:`IMPORTED` target(s): + + + +Result variables +^^^^^^^^^^^^^^^^ + +This module will set the following variables in your project: + +`` SdlAndroidBuildTools_FOUND + if false, no Android build tools have been found + +`` SDL_ANDROID_BUILD_TOOLS_ROOT + path of the Android build tools root directory if found + +`` SDL_ANDROID_BUILD_TOOLS_VERSION + the human-readable string containing the android build tools version if found + +Cache variables +^^^^^^^^^^^^^^^ + +These variables may optionally be set to help this module find the correct files: + +``SDL_ANDROID_BUILD_TOOLS_ROOT`` + path of the Android build tools 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_build_tools_root RESULT VERSION BUILD_TOOLS_ROOT) + set(result TRUE) + set(version -1) + + string(REGEX MATCH "/([0-9.]+)$" root_match "${BUILD_TOOLS_ROOT}") + if(root_match + AND EXISTS "${BUILD_TOOLS_ROOT}/aapt2" + AND EXISTS "${BUILD_TOOLS_ROOT}/apksigner" + AND EXISTS "${BUILD_TOOLS_ROOT}/d8" + AND EXISTS "${BUILD_TOOLS_ROOT}/zipalign") + set(result "${BUILD_TOOLS_ROOT}") + set(version "${CMAKE_MATCH_1}") + endif() + + set(${RESULT} ${result} PARENT_SCOPE) + set(${VERSION} ${version} PARENT_SCOPE) +endfunction() + +function(_find_sdl_android_build_tools_root ROOT) + cmake_parse_arguments(fsabtr "" "" "" ${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 build_tools_roots LIST_DIRECTORIES true "${home}/build-tools/*") + set(max_build_tools_version -1) + set(max_build_tools_root "") + foreach(build_tools_root IN LISTS build_tools_roots) + _sdl_is_valid_android_build_tools_root(is_valid build_tools_version "${build_tools_root}") + if(is_valid AND build_tools_version GREATER max_build_tools_version) + set(max_build_tools_version "${build_tools_version}") + set(max_build_tools_root "${build_tools_root}") + endif() + endforeach() + if(max_build_tools_version GREATER -1) + set(root ${max_build_tools_root}) + break() + endif() + endforeach() + set(${ROOT} ${root} PARENT_SCOPE) +endfunction() + +if(NOT DEFINED SDL_ANDROID_BUILD_TOOLS_ROOT) + _find_sdl_android_build_tools_root(SDL_ANDROID_BUILD_TOOLS_ROOT) + set(SDL_ANDROID_BUILD_TOOLS_ROOT "${SDL_ANDROID_BUILD_TOOLS_ROOT}" CACHE PATH "Path of Android build tools") +endif() + +include(FindPackageHandleStandardArgs) + +find_package_handle_standard_args(SdlAndroidBuildTools + VERSION_VAR SDL_ANDROID_BUILD_TOOLS_VERSION + REQUIRED_VARS SDL_ANDROID_BUILD_TOOLS_ROOT +) -- cgit v1.2.3