aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/gtk/portfile.cmake
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/gtk/portfile.cmake
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/gtk/portfile.cmake')
-rw-r--r--vcpkg/ports/gtk/portfile.cmake103
1 files changed, 103 insertions, 0 deletions
diff --git a/vcpkg/ports/gtk/portfile.cmake b/vcpkg/ports/gtk/portfile.cmake
new file mode 100644
index 0000000..58de5f0
--- /dev/null
+++ b/vcpkg/ports/gtk/portfile.cmake
@@ -0,0 +1,103 @@
+# It installs only shared libs, regardless build type.
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+
+vcpkg_from_gitlab(
+ GITLAB_URL https://gitlab.gnome.org/
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO GNOME/gtk
+ REF ${VERSION}
+ SHA512 2e2d3135ebf8cb176a4e5e6f1faa26ae9ea5c3e2441e2c820372a76b78e641f207257600d6a207aa05883e04f29fac1452673bffa0395789b8e482cc6b204673
+ HEAD_REF master # branch name
+ PATCHES
+ 0001-build.patch
+ fix_vulkan_enabled.patch
+)
+
+vcpkg_find_acquire_program(PKGCONFIG)
+get_filename_component(PKGCONFIG_DIR "${PKGCONFIG}" DIRECTORY )
+vcpkg_add_to_path("${PKGCONFIG_DIR}") # Post install script runs pkg-config so it needs to be on PATH
+vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/glib/")
+
+set(x11 false)
+set(win32 false)
+set(osx false)
+if(VCPKG_TARGET_IS_LINUX)
+ set(OPTIONS -Dwayland-backend=false) # CI missing at least wayland-protocols
+ set(x11 true)
+ # Enable the wayland gdk backend (only when building on Unix except for macOS)
+elseif(VCPKG_TARGET_IS_WINDOWS)
+ set(win32 true)
+elseif(VCPKG_TARGET_IS_OSX)
+ set(osx true)
+endif()
+
+list(APPEND OPTIONS -Dx11-backend=${x11}) #Enable the X11 gdk backend (only when building on Unix)
+list(APPEND OPTIONS -Dbroadway-backend=false) #Enable the broadway (HTML5) gdk backend
+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)
+ list(APPEND OPTIONS_RELEASE -Dintrospection=enabled)
+ vcpkg_get_gobject_introspection_programs(PYTHON3 GIR_COMPILER GIR_SCANNER)
+else()
+ list(APPEND OPTIONS_RELEASE -Dintrospection=disabled)
+endif()
+
+vcpkg_configure_meson(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ ${OPTIONS}
+ -Dbuild-demos=false
+ -Dbuild-testsuite=false
+ -Dbuild-examples=false
+ -Dbuild-tests=false
+ -Ddocumentation=false
+ -Dman-pages=false
+ -Dmedia-gstreamer=disabled # Build the gstreamer media backend
+ -Dprint-cups=disabled # Build the cups print backend
+ -Dvulkan=disabled # Enable support for the Vulkan graphics API
+ -Dcloudproviders=disabled # Enable the cloudproviders support
+ -Dsysprof=disabled # include tracing support for sysprof
+ -Dtracker=disabled # Enable Tracker3 filechooser search
+ -Dcolord=disabled # Build colord support for the CUPS printing backend
+ -Df16c=disabled # Enable F16C fast paths (requires F16C)
+ OPTIONS_RELEASE
+ ${OPTIONS_RELEASE}
+ OPTIONS_DEBUG
+ -Dintrospection=disabled
+ 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}'
+ sassc='${CURRENT_HOST_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}'
+ "g-ir-compiler='${GIR_COMPILER}'"
+ "g-ir-scanner='${GIR_SCANNER}'"
+)
+
+vcpkg_install_meson(ADD_BIN_TO_PATH)
+
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_pkgconfig()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
+
+set(TOOL_NAMES gtk4-builder-tool
+ gtk4-encode-symbolic-svg
+ gtk4-path-tool
+ gtk4-query-settings
+ gtk4-rendernode-tool
+ gtk4-update-icon-cache
+ gtk4-image-tool)
+if(VCPKG_TARGET_IS_LINUX)
+ list(APPEND TOOL_NAMES gtk4-launch)
+endif()
+vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()