Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tiff] Fix find_package in cmake wrapper #18473

Merged
merged 13 commits into from
Oct 13, 2021
99 changes: 55 additions & 44 deletions ports/tiff/vcpkg-cmake-wrapper.cmake.in
Original file line number Diff line number Diff line change
@@ -1,49 +1,60 @@
_find_package(${ARGS})

set(_tiff_features ";@FEATURES@;")
set(_tiff_link_libraries "")
set(_tiff_libraries "")
if(_tiff_features MATCHES ";webp;")
find_package(WebP CONFIG REQUIRED)
list(APPEND _tiff_link_libraries WebP::WebP)
list(APPEND _tiff_libraries ${WEBP_LIBRARIES})
endif()
if(_tiff_features MATCHES ";lzma;")
find_package(LibLZMA CONFIG REQUIRED)
list(APPEND _tiff_link_libraries LibLZMA::LibLZMA)
list(APPEND _tiff_libraries ${LZMA_LIBRARIES})
cmake_policy(PUSH)
cmake_policy(SET CMP0012 NEW)
cmake_policy(SET CMP0057 NEW)
set(z_vcpkg_tiff_find_options "")
if("REQUIRED" IN_LIST ARGS)
list(APPEND z_vcpkg_tiff_find_options "REQUIRED")
endif()
if(_tiff_features MATCHES ";jpeg;")
find_package(JPEG REQUIRED)
list(APPEND _tiff_link_libraries JPEG::JPEG)
list(APPEND _tiff_libraries ${JPEG_LIBRARIES})
if("QUIET" IN_LIST ARGS)
list(APPEND z_vcpkg_tiff_find_options "QUIET")
endif()
if(_tiff_features MATCHES ";zstd;")
find_package(ZSTD CONFIG REQUIRED)
if(TARGET zstd::libzstd_shared)
set(_tiff_zstd zstd::libzstd_shared)
else()
set(_tiff_zstd zstd::libzstd_static)

_find_package(${ARGS})

if(TIFF_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
set(z_vcpkg_tiff_link_libraries "")
set(z_vcpkg_tiff_libraries "")
if(@webp@)
find_package(WebP CONFIG ${z_vcpkg_tiff_find_options})
list(APPEND z_vcpkg_tiff_link_libraries WebP::WebP)
list(APPEND z_vcpkg_tiff_libraries ${WEBP_LIBRARIES})
endif()
if(@lzma@)
find_package(LibLZMA CONFIG ${z_vcpkg_tiff_find_options})
list(APPEND z_vcpkg_tiff_link_libraries LibLZMA::LibLZMA)
list(APPEND z_vcpkg_tiff_libraries ${LZMA_LIBRARIES})
endif()
if(@jpeg@)
find_package(JPEG ${z_vcpkg_tiff_find_options})
list(APPEND z_vcpkg_tiff_link_libraries JPEG::JPEG)
list(APPEND z_vcpkg_tiff_libraries ${JPEG_LIBRARIES})
endif()
if(@zstd@)
find_package(ZSTD CONFIG ${z_vcpkg_tiff_find_options})
if(TARGET zstd::libzstd_shared)
set(z_vcpkg_tiff_zstd zstd::libzstd_shared)
else()
set(z_vcpkg_tiff_zstd zstd::libzstd_static)
endif()
list(APPEND z_vcpkg_tiff_link_libraries ${z_vcpkg_tiff_zstd})
list(APPEND z_vcpkg_tiff_libraries ${z_vcpkg_tiff_zstd})
endif()
if(@zlib@)
find_package(ZLIB ${z_vcpkg_tiff_find_options})
list(APPEND z_vcpkg_tiff_link_libraries ZLIB::ZLIB)
list(APPEND z_vcpkg_tiff_libraries ${ZLIB_LIBRARIES})
endif()
if(UNIX)
list(APPEND z_vcpkg_tiff_link_libraries m)
list(APPEND z_vcpkg_tiff_libraries m)
endif()
list(APPEND _tiff_link_libraries ${_tiff_zstd})
list(APPEND _tiff_libraries ${_tiff_zstd})
endif()
if(_tiff_features MATCHES ";zip;")
find_package(ZLIB REQUIRED)
list(APPEND _tiff_link_libraries ZLIB::ZLIB)
list(APPEND _tiff_libraries ${ZLIB_LIBRARIES})
endif()
if(UNIX)
list(APPEND _tiff_link_libraries m)
list(APPEND _tiff_libraries m)
endif()

if(TARGET TIFF::TIFF)
set_property(TARGET TIFF::TIFF APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${_tiff_link_libraries})
endif()
if(TIFF_LIBRARIES)
list(APPEND TIFF_LIBRARIES ${_tiff_libraries})
endif()
if(TIFF_LIBRARY)
list(APPEND TIFF_LIBRARY ${_tiff_libraries})
if(TARGET TIFF::TIFF)
set_property(TARGET TIFF::TIFF APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${z_vcpkg_tiff_link_libraries})
endif()
list(APPEND TIFF_LIBRARIES ${z_vcpkg_tiff_libraries})
unset(z_vcpkg_tiff_link_libraries)
unset(z_vcpkg_tiff_libraries)
endif()
unset(z_vcpkg_tiff_find_options)
cmake_policy(POP)
2 changes: 1 addition & 1 deletion ports/tiff/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "tiff",
"version": "4.3.0",
"port-version": 1,
"port-version": 2,
"description": "A library that supports the manipulation of TIFF image files",
"homepage": "https://libtiff.gitlab.io/libtiff/",
"dependencies": [
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -6522,7 +6522,7 @@
},
"tiff": {
"baseline": "4.3.0",
"port-version": 1
"port-version": 2
},
"tinkerforge": {
"baseline": "2.1.25",
Expand Down
5 changes: 5 additions & 0 deletions versions/t-/tiff.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "f147253c84ad1d911393d8b5496f30574a07c780",
"version": "4.3.0",
"port-version": 2
},
{
"git-tree": "c8d1b0803b30c4fd2ea762d62b8d43cd09ff40f0",
"version": "4.3.0",
Expand Down