diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake index 952f2075fdbdc5..3178358d153fe5 100644 --- a/ports/atk/portfile.cmake +++ b/ports/atk/portfile.cmake @@ -11,15 +11,43 @@ vcpkg_from_gitlab( SHA512 f31951ecbdace6a18fb9f772616137cb8732163b37448fef4daf1af60ba8479c94d498dcdaf4880468c80012c77a446da585926a99704a9a940b80e546080cf3 ) +if("introspection" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + message(FATAL_ERROR "Feature introspection currently only supports dynamic build.") + endif() + list(APPEND OPTIONS_DEBUG -Dintrospection=false) + list(APPEND OPTIONS_RELEASE -Dintrospection=true) +else() + list(APPEND OPTIONS -Dintrospection=false) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() + vcpkg_configure_meson( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS -Dintrospection=false - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_NATIVE_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' + ADDITIONAL_CROSS_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' ) -vcpkg_install_meson() + +vcpkg_install_meson(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() diff --git a/ports/atk/vcpkg.json b/ports/atk/vcpkg.json index c04346e202a99b..1053799697bd71 100644 --- a/ports/atk/vcpkg.json +++ b/ports/atk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "atk", "version": "2.38.0", - "port-version": 1, + "port-version": 2, "description": "GNOME Accessibility Toolkit", "homepage": "https://developer.gnome.org/atk/", "license": "GPL-2.0-only", @@ -17,5 +17,20 @@ "name": "vcpkg-tool-meson", "host": true } - ] + ], + "features": { + "introspection": { + "description": "build with introspection", + "dependencies": [ + { + "name": "gobject-introspection", + "host": true + }, + { + "name": "gobject-introspection", + "platform": "windows & x86" + } + ] + } + } } diff --git a/ports/gdk-pixbuf/portfile.cmake b/ports/gdk-pixbuf/portfile.cmake index 64d541833ca020..4211ed8badce3e 100644 --- a/ports/gdk-pixbuf/portfile.cmake +++ b/ports/gdk-pixbuf/portfile.cmake @@ -12,6 +12,22 @@ vcpkg_from_gitlab( fix_build_error_windows.patch ) +if("introspection" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + message(FATAL_ERROR "Feature introspection currently only supports dynamic build.") + endif() + list(APPEND OPTIONS_DEBUG -Dintrospection=disabled) + list(APPEND OPTIONS_RELEASE -Dintrospection=enabled) +else() + list(APPEND OPTIONS -Dintrospection=disabled) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() + 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() @@ -24,19 +40,30 @@ vcpkg_configure_meson( -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 -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_NATIVE_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' - ADDITIONAL_CROSS_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' - ) + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_NATIVE_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' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' + ADDITIONAL_CROSS_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' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' +) + vcpkg_install_meson(ADD_BIN_TO_PATH) # Fix paths in pc file. diff --git a/ports/gdk-pixbuf/vcpkg.json b/ports/gdk-pixbuf/vcpkg.json index 8151baa5ffe686..aa42a469f73bd1 100644 --- a/ports/gdk-pixbuf/vcpkg.json +++ b/ports/gdk-pixbuf/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gdk-pixbuf", "version": "2.42.8", - "port-version": 2, + "port-version": 3, "description": "Image loading library.", "homepage": "https://gitlab.gnome.org/GNOME/gdk-pixbuf", "license": "LGPL-2.1-only", @@ -19,5 +19,20 @@ "host": true }, "zlib" - ] + ], + "features": { + "introspection": { + "description": "build with introspection", + "dependencies": [ + { + "name": "gobject-introspection", + "host": true + }, + { + "name": "gobject-introspection", + "platform": "windows & x86" + } + ] + } + } } diff --git a/ports/graphene/portfile.cmake b/ports/graphene/portfile.cmake index 8b50663679bb62..d2096c6a61b70d 100644 --- a/ports/graphene/portfile.cmake +++ b/ports/graphene/portfile.cmake @@ -12,21 +12,47 @@ vcpkg_extract_source_archive_ex( ARCHIVE ${ARCHIVE} ) +if("introspection" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + message(FATAL_ERROR "Feature introspection currently only supports dynamic build.") + endif() + list(APPEND OPTIONS_DEBUG -Dintrospection=false) + list(APPEND OPTIONS_RELEASE -Dintrospection=true) +else() + list(APPEND OPTIONS -Dintrospection=false) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() + vcpkg_configure_meson( SOURCE_PATH ${SOURCE_PATH} OPTIONS -Dgtk_doc=false #Enable generating the API reference (depends on GTK-Doc) -Dgobject_types=true #Enable GObject types (depends on GObject) - -Dintrospection=false #Enable GObject Introspection (depends on GObject)' -Dtests=false -Dinstalled_tests=false - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_NATIVE_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' + ADDITIONAL_CROSS_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' ) -vcpkg_install_meson() +vcpkg_install_meson(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() diff --git a/ports/graphene/vcpkg.json b/ports/graphene/vcpkg.json index f34bcb79961d21..f9d2d5642e7440 100644 --- a/ports/graphene/vcpkg.json +++ b/ports/graphene/vcpkg.json @@ -1,7 +1,7 @@ { "name": "graphene", "version": "1.10.2", - "port-version": 2, + "port-version": 3, "description": "A thin layer of types for graphic libraries.", "homepage": "https://www.gtk.org/", "supports": "!(arm & windows)", @@ -16,5 +16,20 @@ "name": "vcpkg-tool-meson", "host": true } - ] + ], + "features": { + "introspection": { + "description": "build with introspection", + "dependencies": [ + { + "name": "gobject-introspection", + "host": true + }, + { + "name": "gobject-introspection", + "platform": "windows & x86" + } + ] + } + } } diff --git a/ports/gtk/portfile.cmake b/ports/gtk/portfile.cmake index 5c89135dd262f9..a55e9f8c72784e 100644 --- a/ports/gtk/portfile.cmake +++ b/ports/gtk/portfile.cmake @@ -36,6 +36,22 @@ list(APPEND OPTIONS -Dbroadway-backend=false) #Enable the broadway (HTML5) gdk b list(APPEND OPTIONS -Dwin32-backend=${win32}) #Enable the Windows gdk backend (only when building on Windows) list(APPEND OPTIONS -Dmacos-backend=${osx}) #Enable the macOS gdk backend (only when building on macOS) +if("introspection" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + message(FATAL_ERROR "Feature introspection currently only supports dynamic build.") + endif() + list(APPEND OPTIONS_DEBUG -Dintrospection=disabled) + list(APPEND OPTIONS_RELEASE -Dintrospection=enabled) +else() + list(APPEND OPTIONS -Dintrospection=disabled) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() + vcpkg_configure_meson( SOURCE_PATH ${SOURCE_PATH} OPTIONS @@ -46,7 +62,6 @@ vcpkg_configure_meson( -Dinstall-tests=false -Dgtk_doc=false -Dman-pages=false - -Dintrospection=disabled -Dmedia-ffmpeg=disabled # Build the ffmpeg media backend -Dmedia-gstreamer=disabled # Build the gstreamer media backend -Dprint-cups=disabled # Build the cups print backend @@ -55,21 +70,31 @@ vcpkg_configure_meson( -Dsysprof=disabled # include tracing support for sysprof -Dtracker=disabled # Enable Tracker3 filechooser search -Dcolord=disabled # Build colord support for the CUPS printing backend - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' - gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen' - glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}' - sassc='${CURRENT_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' - gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen' - glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}' - sassc='${CURRENT_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}' + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_NATIVE_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' + gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen' + glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}' + sassc='${CURRENT_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' + ADDITIONAL_CROSS_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' + gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen' + glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}' + sassc='${CURRENT_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' ) -vcpkg_install_meson() +vcpkg_install_meson(ADD_BIN_TO_PATH) # If somebody finds out how to access and forward env variables to # the meson install script be my guest. Nevertheless the script still diff --git a/ports/gtk/vcpkg.json b/ports/gtk/vcpkg.json index 4a8a991c773dc6..64a37ebb9a652f 100644 --- a/ports/gtk/vcpkg.json +++ b/ports/gtk/vcpkg.json @@ -1,6 +1,7 @@ { "name": "gtk", "version": "4.6.2", + "port-version": 1, "description": "Portable library for creating graphical user interfaces.", "homepage": "https://www.gtk.org/", "license": "LGPL-2.0-only", @@ -36,5 +37,48 @@ "name": "vcpkg-tool-meson", "host": true } - ] + ], + "features": { + "introspection": { + "description": "build with introspection", + "dependencies": [ + { + "name": "atk", + "default-features": false, + "features": [ + "introspection" + ] + }, + { + "name": "gdk-pixbuf", + "default-features": false, + "features": [ + "introspection" + ] + }, + { + "name": "gobject-introspection", + "host": true + }, + { + "name": "gobject-introspection", + "platform": "windows & x86" + }, + { + "name": "graphene", + "default-features": false, + "features": [ + "introspection" + ] + }, + { + "name": "pango", + "default-features": false, + "features": [ + "introspection" + ] + } + ] + } + } } diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index 426150b7c999db..671a9dbdc5bdda 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -37,22 +37,48 @@ list(APPEND FEATURE_OPTIONS -Dfreetype=enabled) #Enable freetype interop helpers #list(APPEND FEATURE_OPTIONS -Dgdi=enabled) # enable gdi helpers and uniscribe shaper backend (windows only) #endif() +if("introspection" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + message(FATAL_ERROR "Feature introspection currently only supports dynamic build.") + endif() + list(APPEND OPTIONS_DEBUG -Dgobject=enabled -Dintrospection=disabled) + list(APPEND OPTIONS_RELEASE -Dgobject=enabled -Dintrospection=enabled) +else() + list(APPEND OPTIONS -Dintrospection=disabled) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() vcpkg_configure_meson( SOURCE_PATH ${SOURCE_PATH} OPTIONS ${FEATURE_OPTIONS} - -Dcairo=disabled # Use Cairo graphics library - -Dintrospection=disabled # Generate gobject-introspection bindings (.gir/.typelib files) + -Dcairo=disabled # Use Cairo graphics library -Ddocs=disabled # Generate documentation with gtk-doc -Dtests=disabled -Dbenchmark=disabled - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_NATIVE_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' + ADDITIONAL_CROSS_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' ) -vcpkg_install_meson() +vcpkg_install_meson(ADD_BIN_TO_PATH) + vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() diff --git a/ports/harfbuzz/vcpkg.json b/ports/harfbuzz/vcpkg.json index 9d86ed458a98dc..0bee89388f5ca1 100644 --- a/ports/harfbuzz/vcpkg.json +++ b/ports/harfbuzz/vcpkg.json @@ -1,6 +1,7 @@ { "name": "harfbuzz", "version": "4.2.0", + "port-version": 1, "description": "HarfBuzz OpenType text shaping engine", "homepage": "https://github.com/harfbuzz/harfbuzz", "license": "MIT-Modern-Variant", @@ -43,6 +44,20 @@ "dependencies": [ "icu" ] + }, + "introspection": { + "description": "build with introspection", + "dependencies": [ + "glib", + { + "name": "gobject-introspection", + "host": true + }, + { + "name": "gobject-introspection", + "platform": "windows & x86" + } + ] } } } diff --git a/ports/pango/portfile.cmake b/ports/pango/portfile.cmake index 6c434e156fa734..3164c99bda8029 100644 --- a/ports/pango/portfile.cmake +++ b/ports/pango/portfile.cmake @@ -7,10 +7,25 @@ vcpkg_from_gitlab( HEAD_REF master # branch name ) +if("introspection" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + message(FATAL_ERROR "Feature introspection currently only supports dynamic build.") + endif() + list(APPEND OPTIONS_DEBUG -Dintrospection=disabled) + list(APPEND OPTIONS_RELEASE -Dintrospection=enabled) +else() + list(APPEND OPTIONS -Dintrospection=disabled) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() + vcpkg_configure_meson( SOURCE_PATH ${SOURCE_PATH} OPTIONS - -Dintrospection=disabled # Build the GObject introspection data for Pango -Dfontconfig=enabled # Build with FontConfig support. -Dsysprof=disabled # include tracing support for sysprof -Dlibthai=disabled # Build with libthai support @@ -18,13 +33,25 @@ vcpkg_configure_meson( -Dxft=disabled # Build with xft support -Dfreetype=enabled # Build with freetype support -Dgtk_doc=false #Build API reference for Pango using GTK-Doc - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_NATIVE_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' + ADDITIONAL_CROSS_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' ) -vcpkg_install_meson() +vcpkg_install_meson(ADD_BIN_TO_PATH) + vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() diff --git a/ports/pango/vcpkg.json b/ports/pango/vcpkg.json index 3f181b2762b790..361d5bc0678ea2 100644 --- a/ports/pango/vcpkg.json +++ b/ports/pango/vcpkg.json @@ -1,6 +1,7 @@ { "name": "pango", "version": "1.50.7", + "port-version": 1, "description": "Text and font handling library.", "homepage": "https://ftp.gnome.org/pub/GNOME/sources/pango/", "license": "LGPL-2.0-only", @@ -32,5 +33,26 @@ "name": "vcpkg-tool-meson", "host": true } - ] + ], + "features": { + "introspection": { + "description": "build with introspection", + "dependencies": [ + { + "name": "gobject-introspection", + "host": true + }, + { + "name": "gobject-introspection", + "platform": "windows & x86" + }, + { + "name": "harfbuzz", + "features": [ + "introspection" + ] + } + ] + } + } } diff --git a/versions/a-/atk.json b/versions/a-/atk.json index 119e22c2d303ef..705404cc3480a5 100644 --- a/versions/a-/atk.json +++ b/versions/a-/atk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c91d3dfb064edfc8d5648f1442c912f7d415ca72", + "version": "2.38.0", + "port-version": 2 + }, { "git-tree": "4034b57da4c9eeb30d6904339be721b7e45f8a89", "version": "2.38.0", diff --git a/versions/baseline.json b/versions/baseline.json index cd021b02c48e3b..75e1daa01b0871 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -206,7 +206,7 @@ }, "atk": { "baseline": "2.38.0", - "port-version": 1 + "port-version": 2 }, "atkmm": { "baseline": "2.36.1", @@ -2442,7 +2442,7 @@ }, "gdk-pixbuf": { "baseline": "2.42.8", - "port-version": 2 + "port-version": 3 }, "gemmlowp": { "baseline": "2021-09-28", @@ -2622,7 +2622,7 @@ }, "graphene": { "baseline": "1.10.2", - "port-version": 2 + "port-version": 3 }, "graphicsmagick": { "baseline": "1.3.37", @@ -2678,7 +2678,7 @@ }, "gtk": { "baseline": "4.6.2", - "port-version": 0 + "port-version": 1 }, "gtkmm": { "baseline": "4.6.0", @@ -2726,7 +2726,7 @@ }, "harfbuzz": { "baseline": "4.2.0", - "port-version": 0 + "port-version": 1 }, "hash-library": { "baseline": "8", @@ -5290,7 +5290,7 @@ }, "pango": { "baseline": "1.50.7", - "port-version": 0 + "port-version": 1 }, "pangolin": { "baseline": "0.6", diff --git a/versions/g-/gdk-pixbuf.json b/versions/g-/gdk-pixbuf.json index 38fea4b466be6f..1b3ac53c76a0e7 100644 --- a/versions/g-/gdk-pixbuf.json +++ b/versions/g-/gdk-pixbuf.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1583a36527738213323743049143951b182a345b", + "version": "2.42.8", + "port-version": 3 + }, { "git-tree": "2e82cf35eb436a674fdbdfa12cce69e629c83bf4", "version": "2.42.8", diff --git a/versions/g-/graphene.json b/versions/g-/graphene.json index 9a023fe39a2d73..c5fe9a724ee135 100644 --- a/versions/g-/graphene.json +++ b/versions/g-/graphene.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c60fb7b47568003b409ea6163cffc7d1f73799ff", + "version": "1.10.2", + "port-version": 3 + }, { "git-tree": "35d8f02c154c44312abd824ba408d52855dbf138", "version": "1.10.2", diff --git a/versions/g-/gtk.json b/versions/g-/gtk.json index a0f3c9c2413d3d..70799ebb1ad166 100644 --- a/versions/g-/gtk.json +++ b/versions/g-/gtk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b94a29f428548bcfc4f4cec507d59e113fa6d269", + "version": "4.6.2", + "port-version": 1 + }, { "git-tree": "00d7796e9bcff96a64e45b977a72129b1dc7be43", "version": "4.6.2", diff --git a/versions/h-/harfbuzz.json b/versions/h-/harfbuzz.json index 32ecc780ae1f40..144307951e628a 100644 --- a/versions/h-/harfbuzz.json +++ b/versions/h-/harfbuzz.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "15492a8dc9a753a7dbed1490ecce827520259858", + "version": "4.2.0", + "port-version": 1 + }, { "git-tree": "02ad2865be7815604bb2c0e6cbc368f3d23d93d6", "version": "4.2.0", diff --git a/versions/p-/pango.json b/versions/p-/pango.json index 2cbeede2cef894..e4d4b303d0a8e6 100644 --- a/versions/p-/pango.json +++ b/versions/p-/pango.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b7b9e17e8a9a4874412a96f5de79873c3a2a42e4", + "version": "1.50.7", + "port-version": 1 + }, { "git-tree": "5275b5581f4cfc5ccb547a556f3affc4c92e05cd", "version": "1.50.7",