1- cmake_minimum_required (VERSION 3.16)
1+ cmake_minimum_required (VERSION 3.16...4.0 )
22
33list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR} /cmake" )
44
5+ message (WARNING
6+ "SDL2_net on top of SDL3 is provided as a means to making porting easier.\n "
7+ "This library is completely unsupported.\n "
8+ "DO NOT SHIP THIS LIBRARY"
9+ )
10+
511# See release_checklist.md
612set (MAJOR_VERSION 2)
713set (MINOR_VERSION 3)
814set (MICRO_VERSION 0)
9- set (SDL_REQUIRED_VERSION 2.0.4 )
15+ set (SDL_REQUIRED_VERSION 3.1.0 )
1016
1117include (PrivateSdlFunctions)
1218sdl_calculate_derived_version_variables()
@@ -15,7 +21,7 @@ if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
1521 message (FATAL_ERROR "Prevented in-tree built. Please create a build directory outside of the SDL_net source code and call cmake from there" )
1622endif ()
1723
18- project (SDL2_net
24+ project (SDL2On3_net
1925 LANGUAGES C
2026 VERSION "${FULL_VERSION} "
2127)
@@ -28,10 +34,10 @@ else()
2834 set (SDL2NET_ROOTPROJECT OFF )
2935endif ()
3036
31- if (TARGET SDL2::SDL2test )
32- set (SDL2test_FOUND ON )
37+ if (TARGET SDL3::SDL3_test )
38+ set (SDL3test_FOUND ON )
3339else ()
34- find_package (SDL2test )
40+ find_package (SDL3 CONFIG COMPONENTS SDL3_test )
3541endif ()
3642
3743set (SDLNET_PKGCONFIG_PRIVATE_LIBS)
@@ -56,10 +62,10 @@ option(BUILD_SHARED_LIBS "Build the library as a shared library" ON)
5662
5763cmake_dependent_option(SDL2NET_INSTALL "Enable SDL2_net install target" ${SDL2NET_ROOTPROJECT} ${sdl2net_install_enableable} OFF )
5864
59- cmake_dependent_option(SDL2NET_SAMPLES "Build SDL2_net samples" ${SDL2NET_ROOTPROJECT} "${SDL2test_FOUND} " OFF )
65+ cmake_dependent_option(SDL2NET_SAMPLES "Build SDL2_net samples" ${SDL2NET_ROOTPROJECT} "TARGET SDL3::SDL3_test " OFF )
6066
6167if (SDL2NET_SAMPLES)
62- find_package (SDL2test REQUIRED )
68+ find_package (SDL3 CONFIG COMPONENTS SDL3_test )
6369endif ()
6470
6571# Save BUILD_SHARED_LIBS variable
@@ -68,14 +74,18 @@ set(SDL2NET_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
6874if (SDL2NET_BUILD_SHARED_LIBS)
6975 set (sdl2_net_export_name SDL2_net)
7076 set (sdl2_net_install_name_infix shared)
71- set (sdl2_target_name SDL2::SDL2)
77+ set (sdl3_target_name SDL3::SDL3)
78+ set (sdl3_component SDL3)
7279else ()
7380 set (sdl2_net_export_name SDL2_net-static )
7481 set (sdl2_net_install_name_infix static )
75- set (sdl2_target_name SDL2::SDL2-static )
82+ set (sdl3_target_name SDL3::SDL3-static )
83+ set (sdl3_component SDL3-shared)
7684endif ()
7785
78- sdl_find_sdl2(${sdl2_target_name} ${SDL_REQUIRED_VERSION} )
86+ if (NOT TARGET ${sdl3_target_name} )
87+ find_package (SDL3 REQUIRED CONFIG COMPONENTS ${sdl3_component} )
88+ endif ()
7989
8090add_library (SDL2_net
8191 src/SDLnet.c
@@ -98,7 +108,7 @@ target_compile_definitions(SDL2_net PRIVATE
98108 SDL_BUILD_MINOR_VERSION=${MINOR_VERSION}
99109 SDL_BUILD_MICRO_VERSION=${MICRO_VERSION}
100110)
101- target_link_libraries (SDL2_net PRIVATE $<BUILD_INTERFACE:${sdl2_target_name } >)
111+ target_link_libraries (SDL2_net PRIVATE $<BUILD_INTERFACE:${sdl3_target_name } >)
102112if (WIN32 )
103113 if (MSVC )
104114 target_compile_options (SDL2_net PRIVATE /W3 /wd4244)
@@ -290,15 +300,15 @@ if(SDL2NET_SAMPLES)
290300
291301 add_executable (showinterfaces examples/showinterfaces.c)
292302 target_compile_definitions (showinterfaces PRIVATE SDL_MAIN_HANDLED)
293- target_link_libraries (showinterfaces PRIVATE SDL2_net::${sdl2_net_export_name} ${sdl2_target_name } )
303+ target_link_libraries (showinterfaces PRIVATE SDL2_net::${sdl2_net_export_name} ${sdl3_target_name } )
294304
295305 add_executable (chat examples/chat.c examples/chat.h)
296- if (TARGET SDL2::SDL2main)
297- target_link_libraries (chat PRIVATE SDL2::SDL2main)
298- endif ()
299- target_link_libraries (chat PRIVATE SDL2_net::${sdl2_net_export_name} SDL2::SDL2test ${sdl2_target_name} )
306+ target_link_libraries (chat PRIVATE SDL2_net::${sdl2_net_export_name} SDL3::SDL3_test ${sdl3_target_name} )
300307
301308 add_executable (chatd examples/chatd.c examples/chat.h)
302309 target_compile_definitions (chatd PRIVATE SDL_MAIN_HANDLED)
303- target_link_libraries (chatd PRIVATE SDL2_net::${sdl2_net_export_name} ${sdl2_target_name } )
310+ target_link_libraries (chatd PRIVATE SDL2_net::${sdl2_net_export_name} ${sdl3_target_name } )
304311endif ()
312+
313+ add_library (SDL2_net_on_SDL3 INTERFACE )
314+ add_library (SDL2_net::on -SDL3 ALIAS SDL2_net_on_SDL3)
0 commit comments