From 04352ae1587fc4eee38c7ce6e76133f94f7ca46f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 5 Mar 2020 12:44:35 +0100 Subject: [PATCH] build: Add configuration summaries Meson now has a summary() function to easily summarize the build configuration after the project was configured, use that for some fancy output when the feature is available. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1072 --- meson.build | 32 +++++++++++++++++++++++++ subprojects/extensions-tool/meson.build | 26 ++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/meson.build b/meson.build index f9e178673..0532f7332 100644 --- a/meson.build +++ b/meson.build @@ -271,3 +271,35 @@ if get_option('gtk_doc') endif meson.add_install_script('meson/postinstall.py') + +summary_options = { + 'networkmanager': get_option('networkmanager'), + 'systemd': get_option('systemd'), + 'extensions_tool': get_option('extensions_tool'), + 'man': get_option('man'), + 'gtk_doc': get_option('gtk_doc'), +} + +summary_build = { + 'buildtype': get_option('buildtype'), + 'debug': get_option('debug'), +} + +summary_dirs = { + 'prefix': get_option('prefix'), + 'bindir': get_option('bindir'), + 'libdir': get_option('libdir'), + 'libexecdir': get_option('libexecdir'), + 'datadir': get_option('datadir'), + 'sysconfdir': get_option('sysconfdir'), +} + +if get_option('man') + summary_dirs += { 'mandir': get_option('mandir') } +endif + +if meson.version().version_compare('>= 0.53.0') + summary(summary_dirs, section: 'Directories') + summary(summary_build, section: 'Build Configuration') + summary(summary_options, section: 'Build Options') +endif diff --git a/subprojects/extensions-tool/meson.build b/subprojects/extensions-tool/meson.build index 4631eef58..d36c7fb00 100644 --- a/subprojects/extensions-tool/meson.build +++ b/subprojects/extensions-tool/meson.build @@ -51,4 +51,30 @@ endif if not meson.is_subproject() subdir('po') + + summary_dirs = { + 'prefix': get_option('prefix'), + 'bindir': get_option('bindir'), + 'datadir': get_option('datadir'), + } + + if get_option('man') + summary_dirs += { 'mandir': get_option('mandir') } + endif + + summary_build = { + 'buildtype': get_option('buildtype'), + 'debug': get_option('debug'), + } + + summary_options = { + 'man': get_option('man'), + 'bash_completion': bash_completion.found(), + } + + if meson.version().version_compare('>= 0.53.0') + summary(summary_dirs, section: 'Directories') + summary(summary_build, section: 'Build Configuration') + summary(summary_options, section: 'Build Options') + endif endif