CMake: Add GTK4 as a GUI framework option

Add GTK as a possible GUI framework alongside Qt on Linux. When the gtk
or qt vcpkg manifest feature is selected, the corresponding framework
dependencies are pulled in automatically.
This commit is contained in:
Johan Dahlin
2026-04-09 07:29:46 +02:00
committed by Tim Flynn
parent 3b4449a7d5
commit 1bf03c21d1
Notes: github-actions[bot] 2026-04-17 15:19:30 +00:00
4 changed files with 99 additions and 51 deletions

View File

@@ -119,52 +119,6 @@
"name": "pthread",
"platform": "windows"
},
{
"name": "qtbase",
"platform": "freebsd",
"default-features": false,
"features": [
"dbus",
"doubleconversion",
"fontconfig",
"freetype",
"gui",
"icu",
"jpeg",
"network",
"opengl",
"pcre2",
"png",
"thread",
"vulkan",
"widgets",
"xcb",
"xcb-xlib",
"xlib",
"xrender",
"zstd"
]
},
{
"name": "qtbase",
"platform": "windows",
"default-features": false,
"features": [
"doubleconversion",
"freetype",
"gui",
"icu",
"jpeg",
"network",
"opengl",
"pcre2",
"png",
"thread",
"vulkan",
"widgets",
"zstd"
]
},
{
"name": "sdl3",
"default-features": false
@@ -225,6 +179,82 @@
"woff2",
"zlib"
],
"features": {
"gtk": {
"description": "Build with GTK 4 GUI framework",
"dependencies": [
{
"name": "libadwaita",
"platform": "linux"
},
{
"name": "wayland",
"platform": "linux",
"features": [
"force-build"
]
},
{
"name": "wayland-protocols",
"platform": "linux",
"features": [
"force-build"
]
}
]
},
"qt": {
"description": "Build with Qt 6 GUI framework",
"dependencies": [
{
"name": "qtbase",
"platform": "freebsd",
"default-features": false,
"features": [
"dbus",
"doubleconversion",
"fontconfig",
"freetype",
"gui",
"icu",
"jpeg",
"network",
"opengl",
"pcre2",
"png",
"thread",
"vulkan",
"widgets",
"xcb",
"xcb-xlib",
"xlib",
"xrender",
"zstd"
]
},
{
"name": "qtbase",
"platform": "windows",
"default-features": false,
"features": [
"doubleconversion",
"freetype",
"gui",
"icu",
"jpeg",
"network",
"opengl",
"pcre2",
"png",
"thread",
"vulkan",
"widgets",
"zstd"
]
}
]
}
},
"overrides": [
{
"name": "angle",
@@ -262,9 +292,13 @@
"name": "fmt",
"version": "12.1.0#0"
},
{
"name": "gtk",
"version": "4.22.0"
},
{
"name": "fontconfig",
"version": "2.15.0#4"
"version": "2.17.1#1"
},
{
"name": "harfbuzz",
@@ -274,6 +308,10 @@
"name": "icu",
"version": "78.2#0"
},
{
"name": "libadwaita",
"version": "1.8.4"
},
{
"name": "libavif",
"version": "1.3.0#1"