diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake index dcb675cbe2215f..5a2b479877702c 100644 --- a/ports/atk/portfile.cmake +++ b/ports/atk/portfile.cmake @@ -9,15 +9,37 @@ 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 + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} ADDITIONAL_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 0136b5025aa2c5..b0c3a9dbd4e595 100644 --- a/ports/atk/vcpkg.json +++ b/ports/atk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "atk", "version": "2.38.0", - "port-version": 4, + "port-version": 5, "description": "GNOME Accessibility Toolkit", "homepage": "https://developer.gnome.org/atk/", "license": "GPL-2.0-only", @@ -24,5 +24,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 9dfd9d6a1818f5..cfbff59b592a89 100644 --- a/ports/gdk-pixbuf/portfile.cmake +++ b/ports/gdk-pixbuf/portfile.cmake @@ -12,6 +12,22 @@ vcpkg_from_gitlab( use-libtiff-4-pkgconfig.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,16 +40,23 @@ 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 -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' + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + 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' + 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) diff --git a/ports/gdk-pixbuf/vcpkg.json b/ports/gdk-pixbuf/vcpkg.json index f37676d13f81e0..e4a2548a2a3e8c 100644 --- a/ports/gdk-pixbuf/vcpkg.json +++ b/ports/gdk-pixbuf/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gdk-pixbuf", "version": "2.42.9", - "port-version": 4, + "port-version": 5, "description": "Image loading library.", "homepage": "https://gitlab.gnome.org/GNOME/gdk-pixbuf", "license": "LGPL-2.1-or-later", @@ -22,5 +22,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 1c226cc86e4971..94afb9f967442a 100644 --- a/ports/graphene/portfile.cmake +++ b/ports/graphene/portfile.cmake @@ -11,21 +11,47 @@ vcpkg_extract_source_archive( fix_clang-cl.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() + 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=disabled #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 d948cda36a9f05..936babe8afb7ce 100644 --- a/ports/graphene/vcpkg.json +++ b/ports/graphene/vcpkg.json @@ -1,6 +1,7 @@ { "name": "graphene", "version": "1.10.8", + "port-version": 1, "description": "A thin layer of types for graphic libraries.", "homepage": "https://www.gtk.org/", "license": "MIT", @@ -16,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/gtk/portfile.cmake b/ports/gtk/portfile.cmake index 02cbea97b85183..80bd9f79c2d0ef 100644 --- a/ports/gtk/portfile.cmake +++ b/ports/gtk/portfile.cmake @@ -34,6 +34,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 @@ -44,7 +60,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 @@ -53,21 +68,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_HOST_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_HOST_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_HOST_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_HOST_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 1bebff6ac4ea5a..5388bfd596f5f7 100644 --- a/ports/gtk/vcpkg.json +++ b/ports/gtk/vcpkg.json @@ -1,6 +1,7 @@ { "name": "gtk", "version": "4.6.8", + "port-version": 1, "description": "Portable library for creating graphical user interfaces.", "homepage": "https://www.gtk.org/", "license": "LGPL-2.0-only", @@ -47,5 +48,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/gtk3/portfile.cmake b/ports/gtk3/portfile.cmake index f296a95033a853..cad4bcba97a2af 100644 --- a/ports/gtk3/portfile.cmake +++ b/ports/gtk3/portfile.cmake @@ -25,9 +25,26 @@ vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/glib/") vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/gdk-pixbuf") vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin") +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 + ${OPTIONS} -Dwayland_backend=false -Ddemos=false -Dexamples=false @@ -39,13 +56,18 @@ vcpkg_configure_meson( -Dprofiler=false # include tracing support for sysprof -Dtracker3=false # Enable Tracker3 filechooser search -Dcolord=no # Build colord support for the CUPS printing backend - -Dintrospection=false + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} ADDITIONAL_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}'" + "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'" ) # Reduce command line lengths, in particular for static windows builds. @@ -54,7 +76,7 @@ foreach(dir IN ITEMS "${TARGET_TRIPLET}-dbg" "${TARGET_TRIPLET}-rel") vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${dir}/build.ninja" "/${dir}/../src/" "/src/") endif() endforeach() -vcpkg_install_meson() +vcpkg_install_meson(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() diff --git a/ports/gtk3/vcpkg.json b/ports/gtk3/vcpkg.json index b0eab958213763..636da909c506b4 100644 --- a/ports/gtk3/vcpkg.json +++ b/ports/gtk3/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gtk3", "version": "3.24.34", - "port-version": 1, + "port-version": 2, "description": "Portable library for creating graphical user interfaces.", "homepage": "https://www.gtk.org/", "license": null, @@ -51,5 +51,49 @@ "name": "vcpkg-tool-meson", "host": true } - ] + ], + "features": { + "introspection": { + "description": "build with introspection", + "dependencies": [ + { + "name": "atk", + "default-features": false, + "features": [ + "introspection" + ] + }, + { + "name": "gdk-pixbuf", + "host": true, + "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": "pango", + "default-features": false, + "features": [ + "introspection" + ] + } + ] + } + } } diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index 2a8f475abb7f4a..43a82c9f340a66 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -35,22 +35,43 @@ 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) -Ddocs=disabled # Generate documentation with gtk-doc -Dtests=disabled -Dbenchmark=disabled + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} ADDITIONAL_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 cadceca5db0dde..7fca3b8773742e 100644 --- a/ports/harfbuzz/vcpkg.json +++ b/ports/harfbuzz/vcpkg.json @@ -1,6 +1,7 @@ { "name": "harfbuzz", "version": "5.3.1", + "port-version": 1, "description": "HarfBuzz OpenType text shaping engine", "homepage": "https://github.com/harfbuzz/harfbuzz", "license": "MIT-Modern-Variant", @@ -44,6 +45,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 ee1ab01b83e0a9..c6e410ddf73ac5 100644 --- a/ports/pango/portfile.cmake +++ b/ports/pango/portfile.cmake @@ -10,10 +10,25 @@ vcpkg_from_gitlab( freetype2-pc.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() + 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 @@ -21,12 +36,19 @@ 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 + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} ADDITIONAL_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 50d61653690bea..106b4b906b2fc4 100644 --- a/ports/pango/vcpkg.json +++ b/ports/pango/vcpkg.json @@ -1,7 +1,7 @@ { "name": "pango", "version": "1.50.12", - "port-version": 1, + "port-version": 2, "description": "Text and font handling library.", "homepage": "https://ftp.gnome.org/pub/GNOME/sources/pango/", "license": "LGPL-2.0-only", @@ -33,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 240087fdf35b08..15a1a354c72064 100644 --- a/versions/a-/atk.json +++ b/versions/a-/atk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0287be8f06bb4da8b89f9edb0aa93258c6d36f1e", + "version": "2.38.0", + "port-version": 5 + }, { "git-tree": "849d0f35a03bea3d5871f8e8bbaae5d476f20798", "version": "2.38.0", diff --git a/versions/baseline.json b/versions/baseline.json index 058c01298482a0..adb484df08ec14 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -242,7 +242,7 @@ }, "atk": { "baseline": "2.38.0", - "port-version": 4 + "port-version": 5 }, "atkmm": { "baseline": "2.36.1", @@ -2598,7 +2598,7 @@ }, "gdk-pixbuf": { "baseline": "2.42.9", - "port-version": 4 + "port-version": 5 }, "gemmlowp": { "baseline": "2021-09-28", @@ -2794,7 +2794,7 @@ }, "graphene": { "baseline": "1.10.8", - "port-version": 0 + "port-version": 1 }, "graphicsmagick": { "baseline": "1.3.37", @@ -2850,11 +2850,11 @@ }, "gtk": { "baseline": "4.6.8", - "port-version": 0 + "port-version": 1 }, "gtk3": { "baseline": "3.24.34", - "port-version": 1 + "port-version": 2 }, "gtkmm": { "baseline": "4.6.0", @@ -2914,7 +2914,7 @@ }, "harfbuzz": { "baseline": "5.3.1", - "port-version": 0 + "port-version": 1 }, "hash-library": { "baseline": "8", @@ -5766,7 +5766,7 @@ }, "pango": { "baseline": "1.50.12", - "port-version": 1 + "port-version": 2 }, "pangolin": { "baseline": "0.8", diff --git a/versions/g-/gdk-pixbuf.json b/versions/g-/gdk-pixbuf.json index 0a1264edf1b4fb..a8ff76d0c14b9d 100644 --- a/versions/g-/gdk-pixbuf.json +++ b/versions/g-/gdk-pixbuf.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a2c86123a10143a8df7fe450b82a5f018a28058f", + "version": "2.42.9", + "port-version": 5 + }, { "git-tree": "830adc727c34a71a305d01d1cb77ae16d41e289a", "version": "2.42.9", diff --git a/versions/g-/graphene.json b/versions/g-/graphene.json index fa3fdd39ecd452..ace90f30986f83 100644 --- a/versions/g-/graphene.json +++ b/versions/g-/graphene.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e8c7b10cc1bdcca2e09b0f42da6ad645699680a9", + "version": "1.10.8", + "port-version": 1 + }, { "git-tree": "79dd231d51d71f5e0d49fbea65d88e0c1a8eb6fc", "version": "1.10.8", diff --git a/versions/g-/gtk.json b/versions/g-/gtk.json index ae1c0727c80218..f6f1792372c007 100644 --- a/versions/g-/gtk.json +++ b/versions/g-/gtk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "cadf0f3efc6e75b1a1978f5c29126ffaf4a75c8c", + "version": "4.6.8", + "port-version": 1 + }, { "git-tree": "e9a57d5e92147cebc6e058c9d656b8eda3aa5ea9", "version": "4.6.8", diff --git a/versions/g-/gtk3.json b/versions/g-/gtk3.json index 1bb2cd2f0c49cd..058310ffa5242e 100644 --- a/versions/g-/gtk3.json +++ b/versions/g-/gtk3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0c25a1f1fc2d3f166ea007a97b845fb85769588e", + "version": "3.24.34", + "port-version": 2 + }, { "git-tree": "dfc90d235f5a782299be10c4ce655ce95622b3a2", "version": "3.24.34", diff --git a/versions/h-/harfbuzz.json b/versions/h-/harfbuzz.json index d4ab5645ae8dd6..e1aaa5ef24df35 100644 --- a/versions/h-/harfbuzz.json +++ b/versions/h-/harfbuzz.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "49ecf8cf3003559031c4c0d4989ac00ac39af3f9", + "version": "5.3.1", + "port-version": 1 + }, { "git-tree": "5d634ff1c05837712e9816896ac554cdcc87322f", "version": "5.3.1", diff --git a/versions/p-/pango.json b/versions/p-/pango.json index 5034b5b0b7ad6f..6f20bb6a5a6009 100644 --- a/versions/p-/pango.json +++ b/versions/p-/pango.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5f1f5e6f18ba1451a6fd4dadf82463a2ac3f9326", + "version": "1.50.12", + "port-version": 2 + }, { "git-tree": "c6e7634fcf1696b43f8a6ec38db946b5dd279b7c", "version": "1.50.12",