From 15b77fcc402a94e6ec06a0fb3246262b0e6a1866 Mon Sep 17 00:00:00 2001 From: Ryo Nakano Date: Fri, 10 Jan 2025 21:34:14 +0900 Subject: [PATCH 1/3] meson: Make tests and examples optional --- meson.build | 10 ++++++++-- meson_options.txt | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index a5f1c57..2a0afd8 100644 --- a/meson.build +++ b/meson.build @@ -21,8 +21,14 @@ deps = [ ] subdir('src') -subdir('tests') -subdir('examples') + +if get_option('tests') + subdir('tests') +endif + +if get_option('examples') + subdir('examples') +endif if get_option('docs') outdir = 'docs' diff --git a/meson_options.txt b/meson_options.txt index 35b9bf8..5aedab0 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1 +1,3 @@ +option('tests', type: 'boolean', value: true, description: 'Whether to run tests') +option('examples', type: 'boolean', value: true, description: 'Whether to generate examples') option('docs', type: 'boolean', value: false, description: 'Whether to generate docs') From e785b9ef559a3b6f43e66336d6827f488bdb1f43 Mon Sep 17 00:00:00 2001 From: Ryo Nakano Date: Wed, 22 Jan 2025 21:07:21 +0900 Subject: [PATCH 2/3] meson: Use build_by_default instead of custom option --- examples/meson.build | 18 +++++++++--------- meson.build | 10 ++-------- meson_options.txt | 2 -- tests/meson.build | 2 +- 4 files changed, 12 insertions(+), 20 deletions(-) diff --git a/examples/meson.build b/examples/meson.build index 8adc1a7..c12fb21 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -1,9 +1,9 @@ -executable('example', 'live-chart.vala', dependencies: deps + [livechart_dep]) -executable('example-fixed-max', 'fixed-max.vala', dependencies: deps + [livechart_dep]) -executable('example-hide-parts', 'hide-parts.vala', dependencies: deps + [livechart_dep]) -executable('example-configure-labels', 'configure-labels.vala', dependencies: deps + [livechart_dep]) -executable('example-remove-serie', 'remove-serie.vala', dependencies: deps + [livechart_dep]) -executable('example-replace-chart', 'replace-chart.vala', dependencies: deps + [livechart_dep]) -executable('example-static-renderer', 'static-renderer.vala', dependencies: deps + [livechart_dep]) -executable('example-static-chart', 'static-chart.vala', dependencies: deps + [livechart_dep]) -executable('example-usec', 'live-chart-usec.vala', dependencies: deps + [livechart_dep]) +executable('example', 'live-chart.vala', dependencies: deps + [livechart_dep], build_by_default: false) +executable('example-fixed-max', 'fixed-max.vala', dependencies: deps + [livechart_dep], build_by_default: false) +executable('example-hide-parts', 'hide-parts.vala', dependencies: deps + [livechart_dep], build_by_default: false) +executable('example-configure-labels', 'configure-labels.vala', dependencies: deps + [livechart_dep], build_by_default: false) +executable('example-remove-serie', 'remove-serie.vala', dependencies: deps + [livechart_dep], build_by_default: false) +executable('example-replace-chart', 'replace-chart.vala', dependencies: deps + [livechart_dep], build_by_default: false) +executable('example-static-renderer', 'static-renderer.vala', dependencies: deps + [livechart_dep], build_by_default: false) +executable('example-static-chart', 'static-chart.vala', dependencies: deps + [livechart_dep], build_by_default: false) +executable('example-usec', 'live-chart-usec.vala', dependencies: deps + [livechart_dep], build_by_default: false) diff --git a/meson.build b/meson.build index 2a0afd8..a5f1c57 100644 --- a/meson.build +++ b/meson.build @@ -21,14 +21,8 @@ deps = [ ] subdir('src') - -if get_option('tests') - subdir('tests') -endif - -if get_option('examples') - subdir('examples') -endif +subdir('tests') +subdir('examples') if get_option('docs') outdir = 'docs' diff --git a/meson_options.txt b/meson_options.txt index 5aedab0..35b9bf8 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1 @@ -option('tests', type: 'boolean', value: true, description: 'Whether to run tests') -option('examples', type: 'boolean', value: true, description: 'Whether to generate examples') option('docs', type: 'boolean', value: false, description: 'Whether to generate docs') diff --git a/tests/meson.build b/tests/meson.build index b5e1dda..dc147d6 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -30,5 +30,5 @@ test_sources = files( ) vala_args += ['--enable-deprecated'] -test('livechart-test', executable('livechart-test', test_sources, vala_args: vala_args, dependencies: deps + [livechart_dep])) +test('livechart-test', executable('livechart-test', test_sources, vala_args: vala_args, dependencies: deps + [livechart_dep], build_by_default: false)) From eaec3129c61a5ba7ef5351d5071c3d6da0b9912a Mon Sep 17 00:00:00 2001 From: Ryo Nakano Date: Wed, 22 Jan 2025 21:09:18 +0900 Subject: [PATCH 3/3] meson: Refactoring --- examples/meson.build | 29 ++++++++++++++++++++--------- tests/meson.build | 10 +++++++++- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/examples/meson.build b/examples/meson.build index c12fb21..cf34ce4 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -1,9 +1,20 @@ -executable('example', 'live-chart.vala', dependencies: deps + [livechart_dep], build_by_default: false) -executable('example-fixed-max', 'fixed-max.vala', dependencies: deps + [livechart_dep], build_by_default: false) -executable('example-hide-parts', 'hide-parts.vala', dependencies: deps + [livechart_dep], build_by_default: false) -executable('example-configure-labels', 'configure-labels.vala', dependencies: deps + [livechart_dep], build_by_default: false) -executable('example-remove-serie', 'remove-serie.vala', dependencies: deps + [livechart_dep], build_by_default: false) -executable('example-replace-chart', 'replace-chart.vala', dependencies: deps + [livechart_dep], build_by_default: false) -executable('example-static-renderer', 'static-renderer.vala', dependencies: deps + [livechart_dep], build_by_default: false) -executable('example-static-chart', 'static-chart.vala', dependencies: deps + [livechart_dep], build_by_default: false) -executable('example-usec', 'live-chart-usec.vala', dependencies: deps + [livechart_dep], build_by_default: false) +examples = [ + # [target name, [sources...]] + ['example', ['live-chart.vala']], + ['example-fixed-max', ['fixed-max.vala']], + ['example-hide-parts', ['hide-parts.vala']], + ['example-configure-labels', ['configure-labels.vala']], + ['example-remove-serie', ['remove-serie.vala']], + ['example-replace-chart', ['replace-chart.vala']], + ['example-static-renderer', ['static-renderer.vala']], + ['example-static-chart', ['static-chart.vala']], + ['example-usec', ['live-chart-usec.vala']], +] + +foreach example : examples + executable(example[0], + example[1], + dependencies: deps + [livechart_dep], + build_by_default: false + ) +endforeach diff --git a/tests/meson.build b/tests/meson.build index dc147d6..d877461 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -30,5 +30,13 @@ test_sources = files( ) vala_args += ['--enable-deprecated'] -test('livechart-test', executable('livechart-test', test_sources, vala_args: vala_args, dependencies: deps + [livechart_dep], build_by_default: false)) +test('livechart-test', + executable( + 'livechart-test', + test_sources, + vala_args: vala_args, + dependencies: deps + [livechart_dep], + build_by_default: false + ) +)