vcpkg/ports/gdk-pixbuf/portfile.cmake
Kai Pastor b93bc1b81e
[tiff] Fix zstd plus minor changes (#28530)
* Use official zstd config

* Require packages for features

* Test zstd in CI

* Enable libtiffxx on arm

* Update versions

* Assume ZSTD_decompressStream

* Don't put targets into TIFF_LIBRARIES

* [qt5-imageformats] Use libtiff-4.pc

* [zstd] Revise thread lib export

* Mark link libs with LINK_ONLY

* Revert "[zstd] Revise thread lib export"

This reverts commit a99e6378a6.

* [qt5-imageformats] Get all tiff lflags

* [gdk-pixbuf] Use libtiff-4 pc file for msvc

* [qtimageformat] Workaround for QTBUG-95052
2022-12-31 01:30:53 -08:00

58 lines
3.3 KiB
CMake

vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION}
vcpkg_from_gitlab(
GITLAB_URL https://gitlab.gnome.org/
OUT_SOURCE_PATH SOURCE_PATH
REPO GNOME/gdk-pixbuf
REF "${VERSION}"
SHA512 3406f47b413fe3860df410a0cc0076ce47d10605b39347105690c85616739e67e5dfd0804efcad758614b0c8d1369e410b9efaa704a234bfd19686b82595b9e1
HEAD_REF master
PATCHES
fix_build_error_windows.patch
loaders-cache.patch
use-libtiff-4-pkgconfig.patch
)
if(VCPKG_TARGET_IS_WINDOWS)
#list(APPEND OPTIONS -Dnative_windows_loaders=true) # Use Windows system components to handle BMP, EMF, GIF, ICO, JPEG, TIFF and WMF images, overriding jpeg and tiff. To build this into gdk-pixbuf, pass in windows" with the other loaders to build in or use "all" with the builtin_loaders option
endif()
vcpkg_configure_meson(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-Dman=false # Whether to generate man pages (requires xlstproc)
-Dgtk_doc=false # Whether to generate the API reference (requires GTK-Doc)
-Ddocs=false
-Dpng=enabled # Enable PNG loader (requires libpng)
-Dtiff=enabled # Enable TIFF loader (requires libtiff), disabled on Windows if "native_windows_loaders" is used
-Djpeg=enabled # Enable JPEG loader (requires libjpeg), disabled on Windows if "native_windows_loaders" is used
-Dintrospection=disabled # Whether to generate the API introspection data (requires GObject-Introspection)
-Drelocatable=true # Whether to enable application bundle relocation support
-Dtests=false
-Dinstalled_tests=false
-Dgio_sniffing=false # Perform file type detection using GIO (Unused on MacOS and Windows)
-Dbuiltin_loaders=all # since it is unclear where loadable plugins should be located;
# Comma-separated list of loaders to build into gdk-pixbuf, or "none", or "all" to build all buildable loaders into gdk-pixbuf
ADDITIONAL_BINARIES glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources'
glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
)
vcpkg_install_meson(ADD_BIN_TO_PATH)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gdk-pixbuf-2.0.pc" [[${bindir}]] "\${prefix}/tools/${PORT}")
if(NOT VCPKG_BUILD_TYPE)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gdk-pixbuf-2.0.pc" [[${bindir}]] "\${prefix}/../tools/${PORT}")
endif()
vcpkg_fixup_pkgconfig()
set(TOOL_NAMES gdk-pixbuf-csource gdk-pixbuf-pixdata gdk-pixbuf-query-loaders)
# gdk-pixbuf-thumbnailer is not compiled for cross-compiling
# vcpkg-meson cross-build configuration differs from VCPKG_CROSSCOMPILING
if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/gdk-pixbuf-thumbnailer${VCPKG_TARGET_EXECUTABLE_SUFFIX}")
list(APPEND TOOL_NAMES gdk-pixbuf-thumbnailer)
endif()
vcpkg_copy_pdbs()
vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)