Introspection support (#28662)

This commit is contained in:
Max Khon 2023-01-17 19:44:20 +00:00 committed by GitHub
parent 608e7ff107
commit ae826fceaa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 415 additions and 49 deletions

View File

@ -9,15 +9,37 @@ vcpkg_from_gitlab(
SHA512 f31951ecbdace6a18fb9f772616137cb8732163b37448fef4daf1af60ba8479c94d498dcdaf4880468c80012c77a446da585926a99704a9a940b80e546080cf3 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( vcpkg_configure_meson(
SOURCE_PATH "${SOURCE_PATH}" SOURCE_PATH "${SOURCE_PATH}"
OPTIONS OPTIONS
-Dintrospection=false ${OPTIONS}
OPTIONS_DEBUG
${OPTIONS_DEBUG}
OPTIONS_RELEASE
${OPTIONS_RELEASE}
ADDITIONAL_BINARIES ADDITIONAL_BINARIES
"glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'" "glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'"
"glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'" "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_copy_pdbs()

View File

@ -1,7 +1,7 @@
{ {
"name": "atk", "name": "atk",
"version": "2.38.0", "version": "2.38.0",
"port-version": 4, "port-version": 5,
"description": "GNOME Accessibility Toolkit", "description": "GNOME Accessibility Toolkit",
"homepage": "https://developer.gnome.org/atk/", "homepage": "https://developer.gnome.org/atk/",
"license": "GPL-2.0-only", "license": "GPL-2.0-only",
@ -24,5 +24,20 @@
"name": "vcpkg-tool-meson", "name": "vcpkg-tool-meson",
"host": true "host": true
} }
],
"features": {
"introspection": {
"description": "build with introspection",
"dependencies": [
{
"name": "gobject-introspection",
"host": true
},
{
"name": "gobject-introspection",
"platform": "windows & x86"
}
] ]
}
}
} }

View File

@ -12,6 +12,22 @@ vcpkg_from_gitlab(
use-libtiff-4-pkgconfig.patch 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) 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 #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() endif()
@ -24,16 +40,23 @@ vcpkg_configure_meson(
-Dpng=enabled # Enable PNG loader (requires libpng) -Dpng=enabled # Enable PNG loader (requires libpng)
-Dtiff=enabled # Enable TIFF loader (requires libtiff), disabled on Windows if "native_windows_loaders" is used -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 -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 -Drelocatable=true # Whether to enable application bundle relocation support
-Dtests=false -Dtests=false
-Dinstalled_tests=false -Dinstalled_tests=false
-Dgio_sniffing=false # Perform file type detection using GIO (Unused on MacOS and Windows) -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; -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 # 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' ${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-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' 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) vcpkg_install_meson(ADD_BIN_TO_PATH)

View File

@ -1,7 +1,7 @@
{ {
"name": "gdk-pixbuf", "name": "gdk-pixbuf",
"version": "2.42.9", "version": "2.42.9",
"port-version": 4, "port-version": 5,
"description": "Image loading library.", "description": "Image loading library.",
"homepage": "https://gitlab.gnome.org/GNOME/gdk-pixbuf", "homepage": "https://gitlab.gnome.org/GNOME/gdk-pixbuf",
"license": "LGPL-2.1-or-later", "license": "LGPL-2.1-or-later",
@ -22,5 +22,20 @@
"host": true "host": true
}, },
"zlib" "zlib"
],
"features": {
"introspection": {
"description": "build with introspection",
"dependencies": [
{
"name": "gobject-introspection",
"host": true
},
{
"name": "gobject-introspection",
"platform": "windows & x86"
}
] ]
}
}
} }

View File

@ -11,21 +11,47 @@ vcpkg_extract_source_archive(
fix_clang-cl.patch 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( vcpkg_configure_meson(
SOURCE_PATH "${SOURCE_PATH}" SOURCE_PATH "${SOURCE_PATH}"
OPTIONS OPTIONS
-Dgtk_doc=false #Enable generating the API reference (depends on GTK-Doc) -Dgtk_doc=false #Enable generating the API reference (depends on GTK-Doc)
-Dgobject_types=true #Enable GObject types (depends on GObject) -Dgobject_types=true #Enable GObject types (depends on GObject)
-Dintrospection=disabled #Enable GObject Introspection (depends on GObject)'
-Dtests=false -Dtests=false
-Dinstalled_tests=false -Dinstalled_tests=false
ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' ${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' glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' 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-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_copy_pdbs()

View File

@ -1,6 +1,7 @@
{ {
"name": "graphene", "name": "graphene",
"version": "1.10.8", "version": "1.10.8",
"port-version": 1,
"description": "A thin layer of types for graphic libraries.", "description": "A thin layer of types for graphic libraries.",
"homepage": "https://www.gtk.org/", "homepage": "https://www.gtk.org/",
"license": "MIT", "license": "MIT",
@ -16,5 +17,20 @@
"name": "vcpkg-tool-meson", "name": "vcpkg-tool-meson",
"host": true "host": true
} }
],
"features": {
"introspection": {
"description": "build with introspection",
"dependencies": [
{
"name": "gobject-introspection",
"host": true
},
{
"name": "gobject-introspection",
"platform": "windows & x86"
}
] ]
}
}
} }

View File

@ -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 -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) 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( vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}
OPTIONS OPTIONS
@ -44,7 +60,6 @@ vcpkg_configure_meson(
-Dinstall-tests=false -Dinstall-tests=false
-Dgtk_doc=false -Dgtk_doc=false
-Dman-pages=false -Dman-pages=false
-Dintrospection=disabled
-Dmedia-ffmpeg=disabled # Build the ffmpeg media backend -Dmedia-ffmpeg=disabled # Build the ffmpeg media backend
-Dmedia-gstreamer=disabled # Build the gstreamer media backend -Dmedia-gstreamer=disabled # Build the gstreamer media backend
-Dprint-cups=disabled # Build the cups print backend -Dprint-cups=disabled # Build the cups print backend
@ -53,21 +68,31 @@ vcpkg_configure_meson(
-Dsysprof=disabled # include tracing support for sysprof -Dsysprof=disabled # include tracing support for sysprof
-Dtracker=disabled # Enable Tracker3 filechooser search -Dtracker=disabled # Enable Tracker3 filechooser search
-Dcolord=disabled # Build colord support for the CUPS printing backend -Dcolord=disabled # Build colord support for the CUPS printing backend
ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' 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-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}' 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' 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}' 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}' 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' 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-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}' 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' 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}' 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}' 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 # If somebody finds out how to access and forward env variables to
# the meson install script be my guest. Nevertheless the script still # the meson install script be my guest. Nevertheless the script still

View File

@ -1,6 +1,7 @@
{ {
"name": "gtk", "name": "gtk",
"version": "4.6.8", "version": "4.6.8",
"port-version": 1,
"description": "Portable library for creating graphical user interfaces.", "description": "Portable library for creating graphical user interfaces.",
"homepage": "https://www.gtk.org/", "homepage": "https://www.gtk.org/",
"license": "LGPL-2.0-only", "license": "LGPL-2.0-only",
@ -47,5 +48,48 @@
"name": "vcpkg-tool-meson", "name": "vcpkg-tool-meson",
"host": true "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"
]
}
]
}
}
} }

View File

@ -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/gdk-pixbuf")
vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin") 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( vcpkg_configure_meson(
SOURCE_PATH "${SOURCE_PATH}" SOURCE_PATH "${SOURCE_PATH}"
OPTIONS OPTIONS
${OPTIONS}
-Dwayland_backend=false -Dwayland_backend=false
-Ddemos=false -Ddemos=false
-Dexamples=false -Dexamples=false
@ -39,13 +56,18 @@ vcpkg_configure_meson(
-Dprofiler=false # include tracing support for sysprof -Dprofiler=false # include tracing support for sysprof
-Dtracker3=false # Enable Tracker3 filechooser search -Dtracker3=false # Enable Tracker3 filechooser search
-Dcolord=no # Build colord support for the CUPS printing backend -Dcolord=no # Build colord support for the CUPS printing backend
-Dintrospection=false OPTIONS_DEBUG
${OPTIONS_DEBUG}
OPTIONS_RELEASE
${OPTIONS_RELEASE}
ADDITIONAL_BINARIES ADDITIONAL_BINARIES
"glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'" "glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'"
"glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'" "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}'" "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'" "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}'" "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. # 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/") vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${dir}/build.ninja" "/${dir}/../src/" "/src/")
endif() endif()
endforeach() endforeach()
vcpkg_install_meson() vcpkg_install_meson(ADD_BIN_TO_PATH)
vcpkg_copy_pdbs() vcpkg_copy_pdbs()

View File

@ -1,7 +1,7 @@
{ {
"name": "gtk3", "name": "gtk3",
"version": "3.24.34", "version": "3.24.34",
"port-version": 1, "port-version": 2,
"description": "Portable library for creating graphical user interfaces.", "description": "Portable library for creating graphical user interfaces.",
"homepage": "https://www.gtk.org/", "homepage": "https://www.gtk.org/",
"license": null, "license": null,
@ -51,5 +51,49 @@
"name": "vcpkg-tool-meson", "name": "vcpkg-tool-meson",
"host": true "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"
]
}
]
}
}
} }

View File

@ -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) #list(APPEND FEATURE_OPTIONS -Dgdi=enabled) # enable gdi helpers and uniscribe shaper backend (windows only)
#endif() #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( vcpkg_configure_meson(
SOURCE_PATH "${SOURCE_PATH}" SOURCE_PATH "${SOURCE_PATH}"
OPTIONS OPTIONS
${FEATURE_OPTIONS} ${FEATURE_OPTIONS}
-Dcairo=disabled # Use Cairo graphics library -Dcairo=disabled # Use Cairo graphics library
-Dintrospection=disabled # Generate gobject-introspection bindings (.gir/.typelib files)
-Ddocs=disabled # Generate documentation with gtk-doc -Ddocs=disabled # Generate documentation with gtk-doc
-Dtests=disabled -Dtests=disabled
-Dbenchmark=disabled -Dbenchmark=disabled
${OPTIONS}
OPTIONS_DEBUG
${OPTIONS_DEBUG}
OPTIONS_RELEASE
${OPTIONS_RELEASE}
ADDITIONAL_BINARIES ADDITIONAL_BINARIES
glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' 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_copy_pdbs()
vcpkg_fixup_pkgconfig() vcpkg_fixup_pkgconfig()

View File

@ -1,6 +1,7 @@
{ {
"name": "harfbuzz", "name": "harfbuzz",
"version": "5.3.1", "version": "5.3.1",
"port-version": 1,
"description": "HarfBuzz OpenType text shaping engine", "description": "HarfBuzz OpenType text shaping engine",
"homepage": "https://github.com/harfbuzz/harfbuzz", "homepage": "https://github.com/harfbuzz/harfbuzz",
"license": "MIT-Modern-Variant", "license": "MIT-Modern-Variant",
@ -44,6 +45,20 @@
"dependencies": [ "dependencies": [
"icu" "icu"
] ]
},
"introspection": {
"description": "build with introspection",
"dependencies": [
"glib",
{
"name": "gobject-introspection",
"host": true
},
{
"name": "gobject-introspection",
"platform": "windows & x86"
}
]
} }
} }
} }

View File

@ -10,10 +10,25 @@ vcpkg_from_gitlab(
freetype2-pc.patch 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( vcpkg_configure_meson(
SOURCE_PATH "${SOURCE_PATH}" SOURCE_PATH "${SOURCE_PATH}"
OPTIONS OPTIONS
-Dintrospection=disabled # Build the GObject introspection data for Pango
-Dfontconfig=enabled # Build with FontConfig support. -Dfontconfig=enabled # Build with FontConfig support.
-Dsysprof=disabled # include tracing support for sysprof -Dsysprof=disabled # include tracing support for sysprof
-Dlibthai=disabled # Build with libthai support -Dlibthai=disabled # Build with libthai support
@ -21,12 +36,19 @@ vcpkg_configure_meson(
-Dxft=disabled # Build with xft support -Dxft=disabled # Build with xft support
-Dfreetype=enabled # Build with freetype support -Dfreetype=enabled # Build with freetype support
-Dgtk_doc=false #Build API reference for Pango using GTK-Doc -Dgtk_doc=false #Build API reference for Pango using GTK-Doc
${OPTIONS}
OPTIONS_DEBUG
${OPTIONS_DEBUG}
OPTIONS_RELEASE
${OPTIONS_RELEASE}
ADDITIONAL_BINARIES ADDITIONAL_BINARIES
"glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'" "glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'"
"glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'" "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_fixup_pkgconfig()
vcpkg_copy_pdbs() vcpkg_copy_pdbs()

View File

@ -1,7 +1,7 @@
{ {
"name": "pango", "name": "pango",
"version": "1.50.12", "version": "1.50.12",
"port-version": 1, "port-version": 2,
"description": "Text and font handling library.", "description": "Text and font handling library.",
"homepage": "https://ftp.gnome.org/pub/GNOME/sources/pango/", "homepage": "https://ftp.gnome.org/pub/GNOME/sources/pango/",
"license": "LGPL-2.0-only", "license": "LGPL-2.0-only",
@ -33,5 +33,26 @@
"name": "vcpkg-tool-meson", "name": "vcpkg-tool-meson",
"host": true "host": true
} }
],
"features": {
"introspection": {
"description": "build with introspection",
"dependencies": [
{
"name": "gobject-introspection",
"host": true
},
{
"name": "gobject-introspection",
"platform": "windows & x86"
},
{
"name": "harfbuzz",
"features": [
"introspection"
] ]
}
]
}
}
} }

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "0287be8f06bb4da8b89f9edb0aa93258c6d36f1e",
"version": "2.38.0",
"port-version": 5
},
{ {
"git-tree": "849d0f35a03bea3d5871f8e8bbaae5d476f20798", "git-tree": "849d0f35a03bea3d5871f8e8bbaae5d476f20798",
"version": "2.38.0", "version": "2.38.0",

View File

@ -242,7 +242,7 @@
}, },
"atk": { "atk": {
"baseline": "2.38.0", "baseline": "2.38.0",
"port-version": 4 "port-version": 5
}, },
"atkmm": { "atkmm": {
"baseline": "2.36.1", "baseline": "2.36.1",
@ -2598,7 +2598,7 @@
}, },
"gdk-pixbuf": { "gdk-pixbuf": {
"baseline": "2.42.9", "baseline": "2.42.9",
"port-version": 4 "port-version": 5
}, },
"gemmlowp": { "gemmlowp": {
"baseline": "2021-09-28", "baseline": "2021-09-28",
@ -2794,7 +2794,7 @@
}, },
"graphene": { "graphene": {
"baseline": "1.10.8", "baseline": "1.10.8",
"port-version": 0 "port-version": 1
}, },
"graphicsmagick": { "graphicsmagick": {
"baseline": "1.3.37", "baseline": "1.3.37",
@ -2850,11 +2850,11 @@
}, },
"gtk": { "gtk": {
"baseline": "4.6.8", "baseline": "4.6.8",
"port-version": 0 "port-version": 1
}, },
"gtk3": { "gtk3": {
"baseline": "3.24.34", "baseline": "3.24.34",
"port-version": 1 "port-version": 2
}, },
"gtkmm": { "gtkmm": {
"baseline": "4.6.0", "baseline": "4.6.0",
@ -2914,7 +2914,7 @@
}, },
"harfbuzz": { "harfbuzz": {
"baseline": "5.3.1", "baseline": "5.3.1",
"port-version": 0 "port-version": 1
}, },
"hash-library": { "hash-library": {
"baseline": "8", "baseline": "8",
@ -5766,7 +5766,7 @@
}, },
"pango": { "pango": {
"baseline": "1.50.12", "baseline": "1.50.12",
"port-version": 1 "port-version": 2
}, },
"pangolin": { "pangolin": {
"baseline": "0.8", "baseline": "0.8",

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "a2c86123a10143a8df7fe450b82a5f018a28058f",
"version": "2.42.9",
"port-version": 5
},
{ {
"git-tree": "830adc727c34a71a305d01d1cb77ae16d41e289a", "git-tree": "830adc727c34a71a305d01d1cb77ae16d41e289a",
"version": "2.42.9", "version": "2.42.9",

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "e8c7b10cc1bdcca2e09b0f42da6ad645699680a9",
"version": "1.10.8",
"port-version": 1
},
{ {
"git-tree": "79dd231d51d71f5e0d49fbea65d88e0c1a8eb6fc", "git-tree": "79dd231d51d71f5e0d49fbea65d88e0c1a8eb6fc",
"version": "1.10.8", "version": "1.10.8",

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "cadf0f3efc6e75b1a1978f5c29126ffaf4a75c8c",
"version": "4.6.8",
"port-version": 1
},
{ {
"git-tree": "e9a57d5e92147cebc6e058c9d656b8eda3aa5ea9", "git-tree": "e9a57d5e92147cebc6e058c9d656b8eda3aa5ea9",
"version": "4.6.8", "version": "4.6.8",

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "0c25a1f1fc2d3f166ea007a97b845fb85769588e",
"version": "3.24.34",
"port-version": 2
},
{ {
"git-tree": "dfc90d235f5a782299be10c4ce655ce95622b3a2", "git-tree": "dfc90d235f5a782299be10c4ce655ce95622b3a2",
"version": "3.24.34", "version": "3.24.34",

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "49ecf8cf3003559031c4c0d4989ac00ac39af3f9",
"version": "5.3.1",
"port-version": 1
},
{ {
"git-tree": "5d634ff1c05837712e9816896ac554cdcc87322f", "git-tree": "5d634ff1c05837712e9816896ac554cdcc87322f",
"version": "5.3.1", "version": "5.3.1",

View File

@ -1,5 +1,10 @@
{ {
"versions": [ "versions": [
{
"git-tree": "5f1f5e6f18ba1451a6fd4dadf82463a2ac3f9326",
"version": "1.50.12",
"port-version": 2
},
{ {
"git-tree": "c6e7634fcf1696b43f8a6ec38db946b5dd279b7c", "git-tree": "c6e7634fcf1696b43f8a6ec38db946b5dd279b7c",
"version": "1.50.12", "version": "1.50.12",