SDL_image: - updated zlib CMakeLists.txt to fix https://github.com/madler/zlib/issues/218

From d5cc8b8eb0aa87886f8d6c23304244d861a91702 Mon Sep 17 00:00:00 2001
From: Cole Varner <[EMAIL REDACTED]>
Date: Fri, 9 Jul 2021 11:31:13 -0700
Subject: [PATCH] - updated zlib CMakeLists.txt to fix
 https://github.com/madler/zlib/issues/218 - set ZLIB_INCLUDE_DIR from target
 properties rather than hardcoding

---
 CMakeLists.txt                      | 29 ++++++++++++++++-------------
 external/zlib-1.2.11/CMakeLists.txt |  2 +-
 2 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index fb266bc..482bf41 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -51,20 +51,23 @@ if (SUPPORT_PNG)
 	set(HAVE_LD_VERSION_SCRIPT OFF CACHE BOOL "" FORCE)
 	target_compile_definitions(SDL2_image PRIVATE -DLOAD_PNG)
 
-  if (NOT TARGET zlib)
-	add_subdirectory(external/zlib-1.2.11 "${CMAKE_CURRENT_BINARY_DIR}/external/zlib-1.2.11")
-	set(ZLIB_INCLUDE_DIR "external/zlib-1.2.11")
-	set(SKIP_INSTALL_ALL ON) # SDL_image doesn't support installing currently
-	if (BUILD_SHARED_LIBS)
-		set(ZLIB_LIBRARY zlib)
-	else()
-		set(ZLIB_LIBRARY zlibstatic)
+	if (NOT TARGET zlib)
+		# if zlib not included from another source, add_subdirectory
+		add_subdirectory(external/zlib-1.2.11)
+
+		# libpng find_package(zlib) requires ZLIB_INCLUDE_DIR set
+		get_target_property(ZLIB_INCLUDE_DIR zlib INCLUDE_DIRECTORIES)
+
+		# libpng find_package(zlib) requires ZLIB_LIBRARY
+		if (BUILD_SHARED_LIBS)
+			set(ZLIB_LIBRARY zlib)
+		else()
+			set(ZLIB_LIBRARY zlibstatic)
+		endif()
+
+		# SDL_image doesn't support installing currently
+		set(SKIP_INSTALL_ALL ON)
 	endif()
-	target_include_directories(${ZLIB_LIBRARY} PUBLIC
-		"${ZLIB_INCLUDE_DIR}"
-		"${CMAKE_CURRENT_BINARY_DIR}/external/zlib-1.2.11" # zconf.h is generated there
-	)
-  endif()
 
 	add_subdirectory(external/libpng-1.6.37)
 	include_directories(external/libpng-1.6.37)
diff --git a/external/zlib-1.2.11/CMakeLists.txt b/external/zlib-1.2.11/CMakeLists.txt
index 0fe939d..c323943 100644
--- a/external/zlib-1.2.11/CMakeLists.txt
+++ b/external/zlib-1.2.11/CMakeLists.txt
@@ -83,7 +83,7 @@ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein
 		${ZLIB_PC} @ONLY)
 configure_file(	${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
 		${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
-include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
+include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
 
 
 #============================================================================