SDL: release: don't download pre-release dependencies + strict version parsing (148d8)

From 148d8c4995d39ee230c18da1d779a9cdf9057cca Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Tue, 4 Nov 2025 17:59:09 +0100
Subject: [PATCH] release: don't download pre-release dependencies + strict
 version parsing

(cherry picked from commit 0da649eb72002fdc6a332878ae71c4f5a0be38fe)
---
 Xcode/SDL/pkg-support/resources/CMake/SDL3ConfigVersion.cmake  | 2 ++
 Xcode/SDL/pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake | 2 ++
 build-scripts/build-release.py                                 | 3 +--
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/Xcode/SDL/pkg-support/resources/CMake/SDL3ConfigVersion.cmake b/Xcode/SDL/pkg-support/resources/CMake/SDL3ConfigVersion.cmake
index 77188b7f42c01..6f7589b19c3ff 100644
--- a/Xcode/SDL/pkg-support/resources/CMake/SDL3ConfigVersion.cmake
+++ b/Xcode/SDL/pkg-support/resources/CMake/SDL3ConfigVersion.cmake
@@ -31,9 +31,11 @@ if(_sdl_major_re AND _sdl_minor_re AND _sdl_micro_re)
     set(PACKAGE_VERSION "${_sdl_major}.${_sdl_minor}.${_sdl_micro}")
 else()
     message(AUTHOR_WARNING "Could not extract version from SDL_version.h.")
+    set(PACKAGE_VERSION_UNSUITABLE TRUE)
     return()
 endif()
 
+unset(_sdl_version_h)
 unset(_sdl_version_h_path)
 unset(_sdl_major_re)
 unset(_sdl_major)
diff --git a/Xcode/SDL/pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake b/Xcode/SDL/pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake
index 6c833a7f2ab06..86979cefc084a 100644
--- a/Xcode/SDL/pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake
+++ b/Xcode/SDL/pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake
@@ -16,6 +16,7 @@ set(_sdl3_version_h "${_sdl3_framework}/Headers/SDL_version.h")
 
 if(NOT EXISTS "${_sdl3_version_h}")
     message(AUTHOR_WARNING "Cannot not find ${_sdl3_framework}. This script is meant to be placed in share/cmake/SDL3, next to SDL3.xcframework")
+    set(PACKAGE_VERSION_UNSUITABLE TRUE)
     return()
 endif()
 
@@ -36,6 +37,7 @@ if(_sdl_major_re AND _sdl_minor_re AND _sdl_micro_re)
     set(PACKAGE_VERSION "${_sdl_major}.${_sdl_minor}.${_sdl_micro}")
 else()
     message(AUTHOR_WARNING "Could not extract version from SDL_version.h.")
+    set(PACKAGE_VERSION_UNSUITABLE TRUE)
     return()
 endif()
 
diff --git a/build-scripts/build-release.py b/build-scripts/build-release.py
index da9e1f4874b41..408624bb4fd36 100755
--- a/build-scripts/build-release.py
+++ b/build-scripts/build-release.py
@@ -1127,8 +1127,7 @@ def download_dependencies(self):
         for dep, depinfo in self.release_info.get("dependencies", {}).items():
             startswith = depinfo["startswith"]
             dep_repo = depinfo["repo"]
-            # FIXME: dropped "--exclude-pre-releases"
-            dep_string_data = self.executer.check_output(["gh", "-R", dep_repo, "release", "list", "--exclude-drafts", "--json", "name,createdAt,tagName", "--jq", f'[.[]|select(.name|startswith("{startswith}"))]|max_by(.createdAt)']).strip()
+            dep_string_data = self.executer.check_output(["gh", "-R", dep_repo, "release", "list", "--exclude-drafts", "--exclude-pre-releases", "--json", "name,createdAt,tagName", "--jq", f'[.[]|select(.name|startswith("{startswith}"))]|max_by(.createdAt)']).strip()
             dep_data = json.loads(dep_string_data)
             dep_tag = dep_data["tagName"]
             dep_version = dep_data["name"]