diff --git a/ports/libpng/portfile.cmake b/ports/libpng/portfile.cmake index fda335e345cf35..f9bf9f4b2583e6 100644 --- a/ports/libpng/portfile.cmake +++ b/ports/libpng/portfile.cmake @@ -81,6 +81,7 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/libpng) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/png") vcpkg_fixup_pkgconfig() if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) diff --git a/ports/libpng/vcpkg-cmake-wrapper.cmake b/ports/libpng/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..de1e087fcebfe4 --- /dev/null +++ b/ports/libpng/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,3 @@ +find_library(PNG_LIBRARY_RELEASE NAMES png16 libpng16 NAMES_PER_DIR PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) +find_library(PNG_LIBRARY_DEBUG NAMES png16d libpng16d NAMES_PER_DIR PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) +_find_package(${ARGS}) diff --git a/ports/libpng/vcpkg.json b/ports/libpng/vcpkg.json index a827351d9721f5..8ff5901531a5df 100644 --- a/ports/libpng/vcpkg.json +++ b/ports/libpng/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libpng", "version": "1.6.37", - "port-version": 17, + "port-version": 18, "description": "libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files", "homepage": "https://github.com/glennrp/libpng", "license": "libpng-2.0", diff --git a/scripts/test_ports/cmake-user/project/CMakeLists.txt b/scripts/test_ports/cmake-user/project/CMakeLists.txt index 8ef35915402a3a..e2a9a86f3bbcae 100644 --- a/scripts/test_ports/cmake-user/project/CMakeLists.txt +++ b/scripts/test_ports/cmake-user/project/CMakeLists.txt @@ -78,22 +78,32 @@ foreach(package ${FIND_PACKAGES}) endif() target_link_libraries(exe PRIVATE ${libraries}) - if(CMAKE_BUILD_TYPE STREQUAL "Release") - string(REPLACE "debug;" "ignore:" libraries "${libraries}") - elseif(CMAKE_BUILD_TYPE STREQUAL "Debug") - string(REPLACE "optimized;" "ignore:" libraries "${libraries}") - endif() + set(last_keyword "") foreach(item IN LISTS libraries) - string(FIND "${item}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/" starts_with_vcpkg) - if(NOT starts_with_vcpkg EQUAL "0") + if(item STREQUAL "optimized" OR item STREQUAL "debug") + set(last_keyword "${item}") continue() endif() string(FIND "${item}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/" starts_with_release) string(FIND "${item}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/" starts_with_debug) - if(CMAKE_BUILD_TYPE STREQUAL "Release" AND starts_with_debug EQUAL "0") - message(SEND_ERROR "Debug lib in release build: ${item}") - elseif(CMAKE_BUILD_TYPE STREQUAL "Debug" AND starts_with_release EQUAL "0") - message(SEND_ERROR "Release lib in debug build: ${item}") + if(starts_with_release EQUAL "0") + if(last_keyword STREQUAL "optimized") + # okay + elseif(last_keyword STREQUAL "debug") + message(SEND_ERROR "Release lib for 'debug' keyword: ${item}") + elseif(CMAKE_BUILD_TYPE STREQUAL "Debug") + message(SEND_ERROR "Release lib for 'Debug' build: ${item}") + endif() + elseif(starts_with_debug EQUAL "0") + if(last_keyword STREQUAL "debug") + # okay + elseif(last_keyword STREQUAL "optimized") + message(SEND_ERROR "Debug lib for 'optimized' keyword: ${item}") + elseif(CMAKE_BUILD_TYPE STREQUAL "Release") + message(SEND_ERROR "Debug lib for 'Release' build: ${item}") + endif() endif() + set(last_keyword "") + continue() endforeach() endforeach() diff --git a/versions/baseline.json b/versions/baseline.json index bb54b660c8839e..75f48b515f8236 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3926,7 +3926,7 @@ }, "libpng": { "baseline": "1.6.37", - "port-version": 17 + "port-version": 18 }, "libpopt": { "baseline": "1.16", diff --git a/versions/l-/libpng.json b/versions/l-/libpng.json index 492a9a83cf27be..da868b875a1739 100644 --- a/versions/l-/libpng.json +++ b/versions/l-/libpng.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5e3ec787e7c6f09dd162648b700aeb712af0ffd2", + "version": "1.6.37", + "port-version": 18 + }, { "git-tree": "ffe71783883ccf1c6e6a306daa686868bfb62191", "version": "1.6.37",