SDL_image: cmake: use correct libpng target + don't disable libpng versioning

From d9c4cf98855d57aa47f88511fcd5268b7fb109aa Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Thu, 14 Dec 2023 15:46:30 +0100
Subject: [PATCH] cmake: use correct libpng target + don't disable libpng
 versioning

---
 .github/workflows/main.yml | 3 ++-
 CMakeLists.txt             | 9 +++++++--
 external/libpng            | 2 +-
 external/zlib              | 2 +-
 4 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 139479e7..33c6a04b 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -15,7 +15,8 @@ jobs:
       fail-fast: false
       matrix:
         platform:
-        - { name: Windows (MSVC),    os: windows-latest, shell: sh,  vendored: true, cmake: '-DPerl_ROOT=C:/Strawberry/perl/bin/ -GNinja', msvc: 1, shared: 1, static: 0 }
+        - { name: Windows (MSVC),    os: windows-latest, shell: sh,  vendored: true, msvc: 1, shared: 1, static: 0,
+            cmake: '-DSDL3IMAGE_BACKEND_STB=OFF -DPerl_ROOT=C:/Strawberry/perl/bin/ -GNinja' }
         - { name: Windows (mingw64), os: windows-latest, shell: 'msys2 {0}', vendored: false, msystem: mingw64, msys-env: mingw-w64-x86_64, shared: 1, static: 0,
             cmake: '-DSDL3IMAGE_BACKEND_STB=OFF -DSDL3IMAGE_BACKEND_WIC=OFF  -DSDL3IMAGE_AVIF=ON -G "Ninja Multi-Config"' }
         - { name: Linux,             os: ubuntu-latest,  shell: sh,  vendored: false, cmake: '-GNinja', shared: 1, static: 0, nojxl: true }
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 725eba9f..e689a83c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -358,6 +358,11 @@ if(SDL3IMAGE_ZLIB)
         else()
             set(ZLIB_LIBRARY zlibstatic)
         endif()
+        # ZLIB_LIBRARIES variable is used by vendored libpng
+        set(ZLIB_LIBRARIES "${ZLIB_LIBRARY}")
+        # ZLIB_INCLUDE_DIRS variable is used by vendored libpng
+        set(ZLIB_INCLUDE_DIRS "${ZLIB_INCLUDE_DIR}")
+        target_include_directories(${ZLIB_LIBRARY} INTERFACE $<BUILD_INTERFACE:${ZLIB_INCLUDE_DIRS}>)
         if(SDL3IMAGE_ZLIB_SHARED OR NOT SDL3IMAGE_BUILD_SHARED_LIBS)
             list(APPEND INSTALL_EXTRA_TARGETS ${ZLIB_LIBRARY})
         endif()
@@ -574,13 +579,13 @@ if(SDL3IMAGE_PNG)
         SDL_IMAGE_SAVE_PNG=$<BOOL:${SDL3IMAGE_PNG_SAVE}>
     )
     if(NOT SDL3IMAGE_BACKEND_STB AND NOT SDL3IMAGE_BACKEND_WIC AND NOT SDL3IMAGE_BACKEND_IMAGEIO)
-        set(HAVE_LD_VERSION_SCRIPT OFF CACHE BOOL "" FORCE)
         if(SDL3IMAGE_PNG_VENDORED)
             message(STATUS "${PROJECT_NAME}: Using vendored libpng")
+            set(PNG_TESTS OFF CACHE BOOL "Build PNG Tests" FORCE)
             sdl_check_project_in_subfolder(external/libpng libpng SDL3IMAGE_VENDORED)
             add_subdirectory(external/libpng EXCLUDE_FROM_ALL)
             if(SDL3IMAGE_PNG_SHARED)
-                set(PNG_LIBRARY png)
+                set(PNG_LIBRARY png_shared)
             else()
                 set(PNG_LIBRARY png_static)
             endif()
diff --git a/external/libpng b/external/libpng
index bab1405b..c22c2de8 160000
--- a/external/libpng
+++ b/external/libpng
@@ -1 +1 @@
-Subproject commit bab1405bf3c2ac72b0136c54a7b7109eef1f7c10
+Subproject commit c22c2de876e0c2de7a62c6454bd6ee09ddab5571
diff --git a/external/zlib b/external/zlib
index 00c4625c..8d8abbc2 160000
--- a/external/zlib
+++ b/external/zlib
@@ -1 +1 @@
-Subproject commit 00c4625cb838018a0963ebcc7e2e9d864002a504
+Subproject commit 8d8abbc276d1151ca9df98ae6ee4638a7fe6df25