浏览代码

Fixed a build dependency issue between libpng and zlib on android, thanks to suggestion from @lumberyard-employee-dm

Signed-off-by: santorac <[email protected]>
santorac 4 年之前
父节点
当前提交
6e799a3afc

+ 9 - 2
package-system/libpng/Findlibpng.cmake

@@ -35,8 +35,15 @@ set(libpng_LIBRARY                   "$<$<CONFIG:profile>:${libpng_LIBRARY_RELEA
 set(libpng_LIBRARY ${libpng_LIBRARY} "$<$<CONFIG:Release>:${libpng_LIBRARY_RELEASE}>")
 set(libpng_LIBRARY ${libpng_LIBRARY} "$<$<CONFIG:Debug>:${libpng_LIBRARY_DEBUG}>")
 
-add_library(${TARGET_WITH_NAMESPACE} INTERFACE IMPORTED GLOBAL)
+add_library(${TARGET_WITH_NAMESPACE} STATIC IMPORTED GLOBAL)
 ly_target_include_system_directories(TARGET ${TARGET_WITH_NAMESPACE} INTERFACE ${${MY_NAME}_INCLUDE_DIR})
-target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE ${libpng_LIBRARY})
+# "Because libpng depends on the zlib, zlib needs to be added as a link dependency of the libpng target, which must be a STATIC IMPORTED target with an IMPORTED_LOCATION_$<CONFIG> set to be library files."
+set_target_properties(${TARGET_WITH_NAMESPACE}
+    PROPERTIES
+        IMPORTED_LOCATION_DEBUG ${${MY_NAME}_LIBRARY_DEBUG}
+        IMPORTED_LOCATION_PROFILE ${${MY_NAME}_LIBRARY_RELEASE}
+        IMPORTED_LOCATION_RELEASE ${${MY_NAME}_LIBRARY_RELEASE}
+)
+target_link_libraries(${TARGET_WITH_NAMESPACE} INTERFACE 3rdParty::zlib)
 
 set(${MY_NAME}_FOUND True)

+ 1 - 1
package-system/libpng/build_config.json

@@ -2,7 +2,7 @@
     "git_url": "https://git.code.sf.net/p/libpng/code",
     "git_tag": "v1.6.37",
     "package_name": "libpng",
-    "package_version": "1.6.37",
+    "package_version": "1.6.37-rev1",
     "package_url": "http://www.libpng.org/",
     "package_license": "libpng-2.0",
     "package_license_file": "LICENSE",

+ 4 - 4
package_build_list_host_windows.json

@@ -20,8 +20,8 @@
         "googletest-1.8.1-rev4-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name Windows --package-root ../../package-system --clean",
         "googletest-1.8.1-rev4-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/googletest --platform-name Android --package-root ../../package-system --clean",
         "ISPCTexComp-36b80aa-rev1-windows": "package-system/ISPCTexComp/build_package_image.py",
-        "libpng-1.6.37-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libpng --platform-name Windows --package-root ../../package-system --clean",
-        "libpng-1.6.37-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libpng --platform-name Android --package-root ../../package-system --clean",
+        "libpng-1.6.37-rev1-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libpng --platform-name Windows --package-root ../../package-system --clean",
+        "libpng-1.6.37-rev1-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libpng --platform-name Android --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-windows": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Windows --package-root ../../package-system --clean",
         "libsamplerate-0.2.1-rev2-android": "Scripts/extras/pull_and_build_from_git.py ../../package-system/libsamplerate --platform-name Android --package-root ../../package-system --custom-toolchain-file ../../Scripts/cmake/Platform/Android/Toolchain_android.cmake --clean",
         "mcpp-2.7.2_az.1-rev1-windows": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.1-rev1",
@@ -62,8 +62,8 @@
     "googlebenchmark-1.5.0-rev2-android": "package-system/googlebenchmark-android",
     "googletest-1.8.1-rev4-windows": "package-system/googletest-windows",
     "googletest-1.8.1-rev4-android": "package-system/googletest-android",
-    "libpng-1.6.37-windows": "package-system/libpng-windows",
-    "libpng-1.6.37-android": "package-system/libpng-android",
+    "libpng-1.6.37-rev1-windows": "package-system/libpng-windows",
+    "libpng-1.6.37-rev1-android": "package-system/libpng-android",
     "libsamplerate-0.2.1-rev2-windows": "package-system/libsamplerate-windows",
     "libsamplerate-0.2.1-rev2-android": "package-system/libsamplerate-android",
     "OpenSSL-1.1.1b-rev2-windows": "package-system/OpenSSL-windows",