Maelstrom: Updated for the SDL_net release

From 6717e9f30a6dce53b26ffa26835b16f5a51b815a Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sun, 31 May 2026 07:42:24 -0700
Subject: [PATCH] Updated for the SDL_net release

---
 CMakeLists.txt   | 15 ++++++++++-----
 external/SDL_net |  2 +-
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 776a89c4..b5370db8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,6 +4,7 @@ set(MAJOR_VERSION 4)
 set(MINOR_VERSION 0)
 set(MICRO_VERSION 1)
 set(SDL_REQUIRED_VERSION 3.4.2)
+set(SDL_NET_REQUIRED_VERSION 3.2.0)
 
 project(Maelstrom
     LANGUAGES C CXX
@@ -49,11 +50,15 @@ else()
     include("cmake/sdlplatform.cmake")
 endif()
 
-# SDL_net's ABI has not yet been finalized
-set(original_BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS}")
-set(BUILD_SHARED_LIBS OFF)
-add_subdirectory(external/SDL_net SDL_net EXCLUDE_FROM_ALL)
-set(BUILD_SHARED_LIBS "${original_BUILD_SHARED_LIBS}")
+option(USE_VENDORED_SDL_NET "Use the vendored version of SDL_net" TRUE)
+if (USE_VENDORED_SDL_NET)
+    set(original_BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS}")
+    set(BUILD_SHARED_LIBS OFF)
+    add_subdirectory(external/SDL_net SDL_net EXCLUDE_FROM_ALL)
+    set(BUILD_SHARED_LIBS "${original_BUILD_SHARED_LIBS}")
+else()
+    find_package(SDL3_net ${SDL_NET_REQUIRED_VERSION} REQUIRED COMPONENTS Headers SDL3_net-shared)
+endif()
 
 add_subdirectory(maclib)
 
diff --git a/external/SDL_net b/external/SDL_net
index 27dc45ae..1a84a2a6 160000
--- a/external/SDL_net
+++ b/external/SDL_net
@@ -1 +1 @@
-Subproject commit 27dc45ae6e1f938bd31a76d23489c4f96f15ae28
+Subproject commit 1a84a2a6b9663572f77e2eb5348d42845bac0053