From 6053b84a3789de8e8e50eb044c495b9f0808cc3b Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Thu, 5 Jan 2023 16:59:19 +0100
Subject: [PATCH] cmake: update cmake script to SDL3 conventions
---
CMakeLists.txt | 90 ++++++-----------
cmake/PrivateSdlFunctions.cmake | 61 ++++--------
.../SDL3_imageConfig.cmake.in | 0
SDL3_image.pc.in => cmake/sdl3-image.pc.in | 8 +-
cmake/test/CMakeLists.txt | 32 ++----
sdl3_image-config-version.cmake.in | 13 ---
sdl3_image-config.cmake.in | 99 -------------------
7 files changed, 61 insertions(+), 242 deletions(-)
rename SDL3_imageConfig.cmake.in => cmake/SDL3_imageConfig.cmake.in (100%)
rename SDL3_image.pc.in => cmake/sdl3-image.pc.in (60%)
delete mode 100644 sdl3_image-config-version.cmake.in
delete mode 100644 sdl3_image-config.cmake.in
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7e655d35..32eca5c2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,18 +8,18 @@ set(MINOR_VERSION 0)
set(MICRO_VERSION 0)
set(SDL_REQUIRED_VERSION 3.0.0)
-include(PrivateSdlFunctions)
-sdl_calculate_derived_version_variables()
-
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
message(FATAL_ERROR "Prevented in-tree built. Please create a build directory outside of the SDL_image source code and call cmake from there")
endif()
project(SDL3_image
LANGUAGES C
- VERSION "${FULL_VERSION}"
+ VERSION "${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}"
)
+include(PrivateSdlFunctions)
+sdl_calculate_derived_version_variables(${MAJOR_VERSION} ${MINOR_VERSION} ${MICRO_VERSION})
+
message(STATUS "Configuring ${PROJECT_NAME} ${PROJECT_VERSION}")
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
@@ -32,11 +32,6 @@ if(ANDROID)
set(SDL3IMAGE_SAMPLES_DEFAULT OFF)
endif()
-# Set defaults preventing destination file conflicts
-set(SDL3IMAGE_DEBUG_POSTFIX "d"
- CACHE STRING "Name suffix for debug builds")
-mark_as_advanced(SDL3IMAGE_DEBUG_POSTFIX)
-
# Assume MSVC projects don't have a package manager and need vendored dependencies (by default).
# Most other platforms have some kind of package manager.
# FIXME: consider a package manager such as conan/vcpkg instead of vendoring
@@ -167,7 +162,7 @@ else()
set(sdl3_target_name SDL3::SDL3-static)
endif()
-sdl_find_sdl3(${sdl3_target_name} ${SDL_REQUIRED_VERSION})
+find_package(SDL3 ${SDL_REQUIRED_VERSION} REQUIRED)
# Set PROJECT_VERSION of subprojects to "" if it's project call does not set VERSION
cmake_policy(SET CMP0048 NEW)
@@ -230,46 +225,26 @@ set_target_properties(SDL3_image PROPERTIES
C_VISIBILITY_PRESET "hidden"
)
if(NOT ANDROID)
- set_target_properties(SDL3_image PROPERTIES
- DEBUG_POSTFIX "${SDL3IMAGE_DEBUG_POSTFIX}"
- )
if(APPLE)
# the SOVERSION property corresponds to the compatibility version and VERSION corresponds to the current version
# https://cmake.org/cmake/help/latest/prop_tgt/SOVERSION.html#mach-o-versions
set_target_properties(SDL3_image PROPERTIES
- SOVERSION "${DYLIB_COMPATIBILITY_VERSION}"
+ SOVERSION "${DYLIB_COMPAT_VERSION}"
VERSION "${DYLIB_CURRENT_VERSION}"
)
else()
set_target_properties(SDL3_image PROPERTIES
- SOVERSION "${LT_MAJOR}"
- VERSION "${LT_VERSION}"
+ SOVERSION "${SO_VERSION_MAJOR}"
+ VERSION "${SO_VERSION}"
)
endif()
endif()
-if(SDL3IMAGE_BUILD_SHARED_LIBS AND (APPLE OR (UNIX AND NOT ANDROID)))
- add_custom_command(TARGET SDL3_image POST_BUILD
- COMMAND "${CMAKE_COMMAND}" -E create_symlink "$<TARGET_SONAME_FILE_NAME:SDL3_image>" "libSDL3_image$<$<CONFIG:Debug>:${SDL3IMAGE_DEBUG_POSTFIX}>$<TARGET_FILE_SUFFIX:SDL3_image>"
- # BYPRODUCTS "libSDL3_image$<$<CONFIG:Debug>:${SDL3IMAGE_DEBUG_POSTFIX}>$<TARGET_FILE_SUFFIX:SDL3_image>" # Needs CMake 3.20
- WORKING_DIRECTORY "${PROJECT_BINARY_DIR}"
- )
-endif()
if(SDL3IMAGE_BUILD_SHARED_LIBS)
if(WIN32 OR OS2)
set_target_properties(SDL3_image PROPERTIES
PREFIX ""
)
endif()
- if(OS2)
- # OS/2 doesn't support a DLL name longer than 8 characters.
- set_target_properties(SDL3_image PROPERTIES
- OUTPUT_NAME "SDL3img"
- )
- elseif(UNIX AND NOT ANDROID)
- set_target_properties(SDL3_image PROPERTIES
- OUTPUT_NAME "SDL3_image-${LT_RELEASE}"
- )
- endif()
else()
if(MSVC OR (WATCOM AND (WIN32 OR OS2)))
set_target_properties(SDL3_image PROPERTIES
@@ -702,15 +677,23 @@ if(SDL3IMAGE_INSTALL)
)
endif()
- if(WIN32 AND NOT MINGW)
- set(SDLIMAGE_INSTALL_CMAKEDIR_DEFAULT "cmake")
+ if(WINDOWS AND NOT MINGW)
+ set(SDL3IMAGE_INSTALL_CMAKEDIR_ROOT_DEFAULT "cmake")
+ else()
+ set(SDL3IMAGE_INSTALL_CMAKEDIR_ROOT_DEFAULT "${CMAKE_INSTALL_LIBDIR}/cmake")
+ endif()
+ set(SDL3IMAGE_INSTALL_CMAKEDIR_ROOT "${SDL3IMAGE_INSTALL_CMAKEDIR_ROOT_DEFAULT}" CACHE STRING "Root folder where to install SDL3Config.cmake related files (SDL3 subfolder for MSVC projects)")
+
+ if(WINDOWS AND NOT MINGW)
+ set(SDL3IMAGE_INSTALL_CMAKEDIR "${SDL3IMAGE_INSTALL_CMAKEDIR_ROOT}")
+ set(LICENSES_PREFIX "licenses/SDL3_image")
else()
- set(SDLIMAGE_INSTALL_CMAKEDIR_DEFAULT "${CMAKE_INSTALL_LIBDIR}/cmake/SDL3_image")
+ set(SDL3IMAGE_INSTALL_CMAKEDIR "${SDL3IMAGE_INSTALL_CMAKEDIR_ROOT}/SDL3")
+ set(LICENSES_PREFIX "${CMAKE_INSTALL_DATAROOTDIR}/licenses/SDL3_image")
endif()
- set(SDLIMAGE_INSTALL_CMAKEDIR "${SDLIMAGE_INSTALL_CMAKEDIR_DEFAULT}" CACHE STRING "Location where to install SDL3_imageConfig.cmake")
- configure_package_config_file(SDL3_imageConfig.cmake.in SDL3_imageConfig.cmake
- INSTALL_DESTINATION "${SDLIMAGE_INSTALL_CMAKEDIR}"
+ configure_package_config_file(cmake/SDL3_imageConfig.cmake.in SDL3_imageConfig.cmake
+ INSTALL_DESTINATION "${SDL3IMAGE_INSTALL_CMAKEDIR}"
)
write_basic_package_version_file("${PROJECT_BINARY_DIR}/SDL3_imageConfigVersion.cmake"
VERSION ${FULL_VERSION}
@@ -722,27 +705,23 @@ if(SDL3IMAGE_INSTALL)
"${CMAKE_CURRENT_BINARY_DIR}/SDL3_imageConfigVersion.cmake"
cmake/Findlibjxl.cmake
cmake/Findwebp.cmake
- DESTINATION "${SDLIMAGE_INSTALL_CMAKEDIR}"
+ DESTINATION "${SDL3IMAGE_INSTALL_CMAKEDIR}"
COMPONENT devel
)
install(EXPORT SDL3ImageExports
FILE SDL3_image-${sdl3_image_install_name_infix}-targets.cmake
NAMESPACE SDL3_image::
- DESTINATION "${SDLIMAGE_INSTALL_CMAKEDIR}"
+ DESTINATION "${SDL3IMAGE_INSTALL_CMAKEDIR}"
COMPONENT devel
)
- set(prefix "${CMAKE_INSTALL_PREFIX}")
- set(exec_prefix "\${prefix}")
- set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
- set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
set(PACKAGE "${PROJECT_NAME}")
set(VERSION "${FULL_VERSION}")
set(SDL_VERSION "${SDL_REQUIRED_VERSION}")
string(JOIN " " PC_REQUIRES ${PC_REQUIRES})
string(JOIN " " PC_LIBS ${PC_LIBS})
- configure_file("${PROJECT_SOURCE_DIR}/SDL3_image.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/SDL3_image.pc.intermediate" @ONLY)
- file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/SDL3_image-$<CONFIG>.pc" INPUT "${CMAKE_CURRENT_BINARY_DIR}/SDL3_image.pc.intermediate")
+ configure_file(cmake/sdl3-image.pc.in sdl3-image.pc.intermediate @ONLY)
+ file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/sdl3-image-$<CONFIG>.pc" INPUT "${CMAKE_CURRENT_BINARY_DIR}/sdl3-image.pc.intermediate")
set(PC_DESTDIR)
if(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
@@ -751,24 +730,15 @@ if(SDL3IMAGE_INSTALL)
else()
set(PC_DESTDIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
endif()
- # Always install SDL3_net.pc file: libraries might be different between config modes
+ # Always install sdl3-image.pc file: libraries might be different between config modes
install(CODE "
# FIXME: use file(COPY_FILE) if minimum CMake version >= 3.21
execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy_if_different
- \"${CMAKE_CURRENT_BINARY_DIR}/SDL3_image-$<CONFIG>.pc\"
- \"${CMAKE_CURRENT_BINARY_DIR}/SDL3_image.pc\")
+ \"${CMAKE_CURRENT_BINARY_DIR}/sdl3-image-$<CONFIG>.pc\"
+ \"${CMAKE_CURRENT_BINARY_DIR}/sdl3-image.pc\")
file(INSTALL DESTINATION \"\${CMAKE_INSTALL_PREFIX}/${PC_DESTDIR}\"
TYPE FILE
- FILES \"${CMAKE_CURRENT_BINARY_DIR}/SDL3_image.pc\")" COMPONENT devel)
-
- if(SDL3IMAGE_BUILD_SHARED_LIBS AND (APPLE OR (UNIX AND NOT ANDROID)))
- install(
- FILES
- "${PROJECT_BINARY_DIR}/libSDL3_image$<$<CONFIG:Debug>:${SDL3IMAGE_DEBUG_POSTFIX}>$<TARGET_FILE_SUFFIX:SDL3_image>"
- DESTINATION "${CMAKE_INSTALL_LIBDIR}"
- COMPONENT devel
- )
- endif()
+ FILES \"${CMAKE_CURRENT_BINARY_DIR}/sdl3-image.pc\")" COMPONENT devel)
install(FILES "LICENSE.txt"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/licenses/${PROJECT_NAME}"
diff --git a/cmake/PrivateSdlFunctions.cmake b/cmake/PrivateSdlFunctions.cmake
index 1863c43b..5612056b 100644
--- a/cmake/PrivateSdlFunctions.cmake
+++ b/cmake/PrivateSdlFunctions.cmake
@@ -1,52 +1,27 @@
# This file is shared amongst SDL_image/SDL_mixer/SDL_ttf
-macro(sdl_calculate_derived_version_variables)
- if (NOT DEFINED MAJOR_VERSION OR NOT DEFINED MINOR_VERSION OR NOT DEFINED MICRO_VERSION)
- message(FATAL_ERROR "MAJOR_VERSION, MINOR_VERSION and MICRO_VERSION need to be defined")
- endif()
-
- set(FULL_VERSION "${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}")
+macro(sdl_calculate_derived_version_variables MAJOR MINOR MICRO)
+ set(SO_VERSION_MAJOR "0")
+ set(SO_VERSION_MINOR "${MINOR_VERSION}")
+ set(SO_VERSION_MICRO "${MICRO_VERSION}")
+ set(SO_VERSION "${SO_VERSION_MAJOR}.${SO_VERSION_MINOR}.${SO_VERSION_MICRO}")
- # Calculate a libtool-like version number
- math(EXPR BINARY_AGE "${MINOR_VERSION} * 100 + ${MICRO_VERSION}")
- math(EXPR IS_DEVELOPMENT "${MINOR_VERSION} % 2")
- if (IS_DEVELOPMENT)
- # Development branch, 2.5.1 -> libSDL2_XXXXX-2.0.so.0.501.0
- set(INTERFACE_AGE 0)
+ if(MINOR MATCHES "[02468]$")
+ math(EXPR DYLIB_COMPAT_VERSION_MAJOR "100 * ${MINOR} + 1")
+ set(DYLIB_COMPAT_VERSION_MINOR "0")
+ math(EXPR DYLIB_CURRENT_VERSION_MAJOR "${DYLIB_COMPAT_VERSION_MAJOR}")
+ set(DYLIB_CURRENT_VERSION_MINOR "${MICRO}")
else()
- # Stable branch, 2.6.1 -> libSDL2_XXXXX-2.0.so.0.600.1
- set(INTERFACE_AGE ${MICRO_VERSION})
+ math(EXPR DYLIB_COMPAT_VERSION_MAJOR "100 * ${MINOR} + ${MICRO} + 1")
+ set(DYLIB_COMPAT_VERSION_MINOR "0")
+ math(EXPR DYLIB_CURRENT_VERSION_MAJOR "${DYLIB_COMPAT_VERSION_MAJOR}")
+ set(DYLIB_CURRENT_VERSION_MINOR "0")
endif()
+ set(DYLIB_COMPAT_VERSION_MICRO "0")
+ set(DYLIB_CURRENT_VERSION_MICRO "0")
- # Increment this if there is an incompatible change - but if that happens,
- # we should rename the library from SDL2 to SDL3, at which point this would
- # reset to 0 anyway.
- set(LT_MAJOR "0")
-
- math(EXPR LT_AGE "${BINARY_AGE} - ${INTERFACE_AGE}")
- math(EXPR LT_CURRENT "${LT_MAJOR} + ${LT_AGE}")
- set(LT_REVISION "${INTERFACE_AGE}")
- # For historical reasons, the library name redundantly includes the major
- # version twice: libSDL2_XXXXX-2.0.so.0.
- # TODO: in SDL 3, set the OUTPUT_NAME to plain SDL3_XXXXX, which will simplify
- # it to libSDL2_XXXXX.so.0
- set(LT_RELEASE "2.0")
- set(LT_VERSION "${LT_MAJOR}.${LT_AGE}.${LT_REVISION}")
-
- # The following should match the versions in the Xcode project file.
- # Each version is 1 higher than you might expect, for compatibility
- # with libtool: macOS ABI versioning is 1-based, unlike other platforms
- # which are normally 0-based.
- math(EXPR DYLIB_CURRENT_VERSION_MAJOR "${LT_MAJOR} + ${LT_AGE} + 1")
- math(EXPR DYLIB_CURRENT_VERSION_MINOR "${LT_REVISION}")
- set(DYLIB_CURRENT_VERSION "${DYLIB_CURRENT_VERSION_MAJOR}.${DYLIB_CURRENT_VERSION_MINOR}.0")
- set(DYLIB_COMPATIBILITY_VERSION "${DYLIB_CURRENT_VERSION_MAJOR}.0.0")
-endmacro()
-
-macro(sdl_find_sdl3 TARGET VERSION)
- if(NOT TARGET ${TARGET})
- find_package(SDL3 ${VERSION} REQUIRED QUIET)
- endif()
+ set(DYLIB_CURRENT_VERSION "${DYLIB_CURRENT_VERSION_MAJOR}.${DYLIB_CURRENT_VERSION_MINOR}.${DYLIB_CURRENT_VERSION_MICRO}")
+ set(DYLIB_COMPAT_VERSION "${DYLIB_COMPAT_VERSION_MAJOR}.${DYLIB_COMPAT_VERSION_MINOR}.${DYLIB_COMPAT_VERSION_MICRO}")
endmacro()
function(read_absolute_symlink DEST PATH)
diff --git a/SDL3_imageConfig.cmake.in b/cmake/SDL3_imageConfig.cmake.in
similarity index 100%
rename from SDL3_imageConfig.cmake.in
rename to cmake/SDL3_imageConfig.cmake.in
diff --git a/SDL3_image.pc.in b/cmake/sdl3-image.pc.in
similarity index 60%
rename from SDL3_image.pc.in
rename to cmake/sdl3-image.pc.in
index ca1d3f2c..f1affb17 100644
--- a/SDL3_image.pc.in
+++ b/cmake/sdl3-image.pc.in
@@ -1,7 +1,7 @@
-prefix=@prefix@
+prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
Name: @PACKAGE@
Description: image loading library for Simple DirectMedia Layer
@@ -10,5 +10,5 @@ Requires: sdl3 >= @SDL_VERSION@
Libs: -L${libdir} -lSDL3_image
Requires.private: @PC_REQUIRES@
Libs.private: @PC_LIBS@
-Cflags: -I${includedir}/SDL3
+Cflags: -I${includedir} -I${includedir}/SDL3
diff --git a/cmake/test/CMakeLists.txt b/cmake/test/CMakeLists.txt
index 1bbeb4c8..853b13a2 100644
--- a/cmake/test/CMakeLists.txt
+++ b/cmake/test/CMakeLists.txt
@@ -5,45 +5,31 @@ project(sdl_test LANGUAGES C)
cmake_policy(SET CMP0074 NEW)
-# Override CMAKE_FIND_ROOT_PATH_MODE to allow search for SDL2 outside of sysroot
+# Override CMAKE_FIND_ROOT_PATH_MODE to allow search for SDL3 outside of sysroot
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE NEVER)
include(FeatureSummary)
-option(TEST_SHARED "Test linking to shared SDL2_image library" ON)
+option(TEST_SHARED "Test linking to shared SDL3_image library" ON)
add_feature_info("TEST_SHARED" TEST_SHARED "Test linking with shared library")
-option(TEST_STATIC "Test linking to static SDL2_image library" ON)
+option(TEST_STATIC "Test linking to static SDL3_image library" ON)
add_feature_info("TEST_STATIC" TEST_STATIC "Test linking with static library")
if(TEST_SHARED)
- # FIXME: in the distant future, must become REQUIRED
- find_package(SDL2 CONFIG COMPONENTS SDL2)
- # FIXME: and the following should be removed
- if(NOT TARGET SDL2::SDL2)
- list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/..")
- include(PrivateSdlFunctions)
- sdl_find_sdl2(SDL2::SDL2 2.0)
- endif()
- find_package(SDL2_image REQUIRED CONFIG)
+ find_package(SDL3 REQUIRED CONFIG COMPONENTS SDL3)
+ find_package(SDL3_image REQUIRED CONFIG)
add_executable(main_shared main.c)
- target_link_libraries(main_shared PRIVATE SDL2::SDL2 SDL2_image::SDL2_image)
+ target_link_libraries(main_shared PRIVATE SDL3::SDL3 SDL3_image::SDL3_image)
endif()
if(TEST_STATIC)
- # FIXME: in the distant future, must become REQUIRED
- find_package(SDL2 CONFIG COMPONENTS SDL2-static)
- # FIXME: and the following should be removed
- if(NOT TARGET SDL2::SDL2-static)
- list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/..")
- include(PrivateSdlFunctions)
- sdl_find_sdl2(SDL2::SDL2-static 2.0)
- endif()
+ find_package(SDL3 REQUIRED CONFIG COMPONENTS SDL3-static)
# some static vendored libraries use c++ (enable CXX after `find_package` might show a warning)
enable_language(CXX)
- find_package(SDL2_image REQUIRED CONFIG)
+ find_package(SDL3_image REQUIRED CONFIG)
add_executable(main_static main.c)
- target_link_libraries(main_static PRIVATE SDL2::SDL2-static SDL2_image::SDL2_image-static)
+ target_link_libraries(main_static PRIVATE SDL3::SDL3-static SDL3_image::SDL3_image-static)
endif()
feature_summary(WHAT ALL)
diff --git a/sdl3_image-config-version.cmake.in b/sdl3_image-config-version.cmake.in
deleted file mode 100644
index 7460e74f..00000000
--- a/sdl3_image-config-version.cmake.in
+++ /dev/null
@@ -1,13 +0,0 @@
-# sdl3_image cmake project-config-version input for ./configure scripts
-
-set(PACKAGE_VERSION "@MAJOR_VERSION_MACRO@.@MINOR_VERSION_MACRO@.@MICRO_VERSION_MACRO@")
-
-if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
- set(PACKAGE_VERSION_COMPATIBLE FALSE)
-else()
- set(PACKAGE_VERSION_COMPATIBLE TRUE)
- if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
- set(PACKAGE_VERSION_EXACT TRUE)
- endif()
-endif()
-
diff --git a/sdl3_image-config.cmake.in b/sdl3_image-config.cmake.in
deleted file mode 100644
index 195c3d5d..00000000
--- a/sdl3_image-config.cmake.in
+++ /dev/null
@@ -1,99 +0,0 @@
-# sdl3_image cmake project-config input for ./configure scripts
-
-include(FeatureSummary)
-set_package_properties(SDL3_image PROPERTIES
- URL "https://www.libsdl.org/projects/SDL_image/"
- DESCRIPTION "SDL_image is an image file loading library"
-)
-
-set(SDL3_image_FOUND TRUE)
-
-set(SDL3IMAGE_AVIF @LOAD_AVIF@)
-set(SDL3IMAGE_BMP @LOAD_BMP@)
-set(SDL3IMAGE_GIF @LOAD_GIF@)
-set(SDL3IMAGE_JPG @LOAD_JPG@)
-set(SDL3IMAGE_JXL @LOAD_JXL@)
-set(SDL3IMAGE_LBM @LOAD_LBM@)
-set(SDL3IMAGE_PCX @LOAD_PCX@)
-set(SDL3IMAGE_PNG @LOAD_PNG@)
-set(SDL3IMAGE_PNM @LOAD_PNM@)
-set(SDL3IMAGE_QOI @LOAD_QOI@)
-set(SDL3IMAGE_SVG @LOAD_SVG@)
-set(SDL3IMAGE_TGA @LOAD_TGA@)
-set(SDL3IMAGE_TIF @LOAD_TIF@)
-set(SDL3IMAGE_XCF @LOAD_XCF@)
-set(SDL3IMAGE_XPM @LOAD_XPM@)
-set(SDL3IMAGE_XV @LOAD_XV@)
-set(SDL3IMAGE_WEBP @LOAD_WEBP@)
-
-set(SDL3IMAGE_JPG_SAVE @SDL3IMAGE_JPG_SAVE@)
-set(SDL3IMAGE_PNG_SAVE @SDL3IMAGE_PNG_SAVE@)
-
-set(SDL3IMAGE_VENDORED FALSE)
-
-set(SDL3IMAGE_BACKEND_IMAGEIO @USE_IMAGEIO@)
-set(SDL3IMAGE_BACKEND_STB @USE_STBIMAGE@)
-set(SDL3IMAGE_BACKEND_WIC @USE_WIC@)
-
-get_filename_component(prefix "${CMAKE_CURRENT_LIST_DIR}/@cmake_prefix_relpath@" ABSOLUTE)
-set(exec_prefix "@exec_prefix@")
-set(bindir "@bindir@")
-set(includedir "@includedir@")
-set(libdir "@libdir@")
-set(_sdl3image_extra_static_libraries "@IMG_LIBS@ @PC_LIBS@")
-string(STRIP "${_sdl3image_extra_static_libraries}" _sdl3image_extra_static_libraries)
-
-set(_sdl3image_bindir "${bindir}")
-set(_sdl3image_libdir "${libdir}")
-set(_sdl3image_incdir "${includedir}/SDL3")
-
-# Convert _sdl3image_extra_static_libraries to list and keep only libraries
-string(REGEX MATCHALL "(-[lm]([-a-zA-Z0-9._]+))|(-Wl,[^ ]*framework[^ ]*)" _sdl3image_extra_static_libraries "${_sdl3image_extra_static_libraries}")
-string(REGEX REPLACE "^-l" "" _sdl3image_extra_static_libraries "${_sdl3image_extra_static_libraries}")
-string(REGEX REPLACE ";-l" ";" _sdl3image_extra_static_libraries "${_sdl3image_extra_static_libraries}")
-
-unset(prefix)
-unset(exec_prefix)
-unset(bindir)
-unset(includedir)
-unset(libdir)
-
-include(CMakeFindDependencyMacro)
-
-if(NOT TARGET SDL3_image::SDL3_image)
- add_library(SDL3_image::SDL3_image SHARED IMPORTED)
- set_target_properties(SDL3_image::SDL3_image
- PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${_sdl3image_incdir}"
- COMPATIBLE_INTERFACE_BOOL "SDL3_SHARED"
- INTERFACE_SDL3_SHARED "ON"
- )
- if(WIN32)
- set_target_properties(SDL3_image::SDL3_image
- PROPERTIES
- IMPORTED_LOCATION "${_sdl3image_bindir}/SDL3_image.dll"
- IMPORTED_IMPLIB "${_sdl3image_libdir}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL3_image.dll${CMAKE_STATIC_LIBRARY_SUFFIX}"
- )
- else()
- set_target_properties(SDL3_image::SDL3_image
- PROPERTIES
- IMPORTED_LOCATION "${_sdl3image_libdir}/${CMAKE_SHARED_LIBRARY_PREFIX}SDL3_image${CMAKE_SHARED_LIBRARY_SUFFIX}"
- )
- endif()
-endif()
-
-if(NOT TARGET SDL3_image::SDL3_image-static)
- add_library(SDL3_image::SDL3_image-static STATIC IMPORTED)
-
- set_target_properties(SDL3_image::SDL3_image-static
- PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${_sdl3image_incdir}"
- IMPORTED_LOCATION "${_sdl3image_libdir}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL3_image${CMAKE_STATIC_LIBRARY_SUFFIX}"
- INTERFACE_LINK_LIBRARIES "${_sdl3image_extra_static_libraries}"
- )
-endif()
-
-unset(_sdl3image_extra_static_libraries)
-unset(_sdl3image_bindir)
-unset(_sdl3image_libdir)
-unset(_sdl3image_incdir)