summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-01-13 12:57:15 +0000
committerMatthias Clasen <mclasen@redhat.com>2023-01-13 12:57:15 +0000
commit96ce9e10b8eaebe8d6512e62a85126b16a30c918 (patch)
tree3dead75e5ab5b276936d61c0ff1df95d38d28061
parenta6e1804474d105a106ec8648d5bbd5bb98ad4c62 (diff)
parent3090795351404735672c45a02a577a4e4bf67586 (diff)
downloadgtk+-96ce9e10b8eaebe8d6512e62a85126b16a30c918.tar.gz
Merge branch 'faster-ci' into 'main'
Add a build-testsuite option See merge request GNOME/gtk!5419
-rw-r--r--.gitlab-ci.yml10
-rw-r--r--docs/reference/gtk/building.md38
-rw-r--r--meson.build2
-rw-r--r--meson_options.txt5
4 files changed, 32 insertions, 23 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 907a82d26b..7ddfcf7572 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,7 +24,7 @@ stages:
variables:
COMMON_MESON_FLAGS: "-Dwerror=true -Dcairo:werror=false -Dgi-docgen:werror=false -Dgraphene:werror=false -Dlibepoxy:werror=false -Dlibsass:werror=false -Dpango:werror=false -Dsassc:werror=false -Dgdk-pixbuf:werror=false -Dglib:werror=false -Dlibcloudproviders:werror=false -Dlibpng:werror=false -Dlibtiff:werror=false -Dsysprof:werror=false -Dwayland-protocols:werror=false -Dharfbuzz:werror=false -Dfreetype2:werror=false -Dfontconfig:werror=false -Dfribidi:werror=false -Dlibffi:werror=false -Dlibjpeg-turbo:werror=false -Dmutest:werror=false -Dpixman:werror=false -Dproxy-libintl:werror=false"
BACKEND_FLAGS: "-Dx11-backend=true -Dwayland-backend=true -Dbroadway-backend=true"
- FEATURE_FLAGS: "-Dvulkan=enabled -Dcloudproviders=enabled"
+ FEATURE_FLAGS: "-Dvulkan=enabled -Dcloudproviders=enabled -Ddemos=false -Dbuild-examples=false -Dbuild-tests=false -Dbuild-testsuite=true"
MESON_TEST_TIMEOUT_MULTIPLIER: 3
FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora:v40"
FLATPAK_IMAGE: "quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master"
@@ -215,6 +215,10 @@ macos:
-Dcpp_std=c++11
-Dpixman:tests=disabled
-Dlibjpeg-turbo:simd=disabled
+ -Ddemos=false
+ -Dbuild-tests=false
+ -Dbuild-examples=false
+ -Dbuild-testsuite=false
_build
- meson compile -C _build
artifacts:
@@ -387,6 +391,10 @@ reference:
-Dgtk_doc=true
-Dgdk-pixbuf:gtk_doc=true
-Dpango:gtk_doc=true
+ -Ddemos=false
+ -Dbuild-examples=false
+ -Dbuild-tests=false
+ -Dbuild-testsuite=false
_build
- meson compile -C _build
- mkdir -p _reference/
diff --git a/docs/reference/gtk/building.md b/docs/reference/gtk/building.md
index 2be7da9916..02aacea3be 100644
--- a/docs/reference/gtk/building.md
+++ b/docs/reference/gtk/building.md
@@ -236,23 +236,17 @@ By default, GTK will try to build with support for the Vulkan graphics
API in addition to cairo and OpenGL. This option can be used to explicitly
control whether Vulkan should be used.
-### `xinerama`
-
-By default, GTK will try to link against the Xinerama libraries
-if they are found. This option can be used to explicitly control
-whether Xinerama should be used.
-
-### `media`
+### `media-gstreamer` and `media-ffmpeg`
By default, GTK will try to build the gstreamer backend for
-media playback support. This option can be used to explicitly
+media playback support. These option can be used to explicitly
control which media backends should be built.
-### `print`
+### `print-cups`
By default, GTK will try to build various print backends
if their dependencies are found. This option can be used
-to explicitly control which print backends should be built.
+to explicitly control whether the cups print backend should be built.
### `cloudproviders`
@@ -274,18 +268,13 @@ support in the file chooser.
This option controls whether GTK should use colord for color
calibration support in the cups print backend.
-### `gtk_doc` and `man-pages`
+### `gtk_doc`, `man-pages` and `update_screenshots`
-The *gtk-doc* package is used to generate the reference documentation
-included with GTK. By default support for *gtk-doc* is disabled
+The *gi-docgen* package is used to generate the reference documentation
+included with GTK. By default support for *gi-docgen* is disabled
because it requires various extra dependencies to be installed.
-If you have *gtk-doc* and *pandoc* installed and are modifying GTK,
-you may want to enable *gtk-doc* support by passing in `-Dgtk_doc=true`.
-
-Additionally, some tools provided by GTK have their own
-manual pages generated using a similar set of dependencies;
-if you have *xsltproc* then you can generate manual pages by
-passing `-Dman-pages=true` when configuring the build.
+Introspection needs to be enabled, since the documentation is generated
+from introspection data.
### `introspection`
@@ -294,9 +283,14 @@ is mainly useful for shortening turnaround times on developer
systems. Installed builds of GTK should always have introspection
support.
-### `build-tests`, `demos`
+### `build-testsuite`
+
+If you want to run the testsuite to ensure that your GTK build
+works, you should enable it with this option.
+
+### `build-tests`, `build-examples`, `demos`
-By default, GTK will build quite a few tests and demos.
+By default, GTK will build quite a few tests, examples and demos.
While these are useful on a developer system, they are not
needed when GTK is built e.g. for a flatpak runtime. These
options allow to disable building tests and demos.
diff --git a/meson.build b/meson.build
index e1d4653884..28fb2ec0c2 100644
--- a/meson.build
+++ b/meson.build
@@ -747,6 +747,8 @@ endif
subdir('tools')
if get_option('build-tests')
subdir('tests')
+endif
+if get_option('build-testsuite')
subdir('testsuite')
endif
if get_option('build-examples')
diff --git a/meson_options.txt b/meson_options.txt
index 18f6c134c1..5fd41258c3 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -114,6 +114,11 @@ option('profile',
value: 'default',
description : 'Profile to use for demos')
+option('build-testsuite',
+ type: 'boolean',
+ value: true,
+ description : 'Build testsuite')
+
option('build-examples',
type: 'boolean',
value: true,