From 43378c4262a83572615ad241d0c2af0c47c0d844 Mon Sep 17 00:00:00 2001 From: Andrew McNulty Date: Tue, 14 Feb 2023 09:18:13 +0100 Subject: [PATCH] Implement review feedback for Meson updates. 1. Call the version extraction script directly instead of through a Python returned from `find_program()`. 2. We don't need to use `meson.project_source_root()` as `find_program()` will search relative to the current meson.build script. 3. Lower the required version back to `>= 0.37.0`, and modify some things to get rid of warnings with this version selected. The use of `summary()`, `dict`, and positional arguments in `pkgconfig.generate()` generate warnings with this version so remove `summary()` and dict()`, also pass keyword arguments to `pkgconfig.generate()`. --- meson.build | 29 ++++++++++------------------- meson_options.txt | 4 ++-- 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/meson.build b/meson.build index 1a56f27..312c4e3 100644 --- a/meson.build +++ b/meson.build @@ -10,23 +10,21 @@ project('unity', 'c', # Set project version to value extracted from unity.h header version: run_command( [ - find_program('python', 'python3'), - 'auto' / 'extract_version.py', - 'src' / 'unity.h' + 'auto/extract_version.py', + 'src/unity.h' ], check: true ).stdout().strip(), - # `meson.project_source_root()` introduced in 0.56.0 - meson_version: '>=0.56.0', + meson_version: '>=0.37.0', default_options: [ 'werror=true', 'c_std=c11' ] ) -build_fixture = get_option('extension_fixture').enabled() -build_memory = get_option('extension_memory').enabled() +build_fixture = get_option('extension_fixture') +build_memory = get_option('extension_memory') unity_src = [] unity_inc = [] @@ -57,24 +55,17 @@ unity_dep = declare_dependency( # Generate pkg-config file. pkg = import('pkgconfig') -pkg.generate(unity_lib, +pkg.generate( + name: meson.project_name(), + version: meson.project_version(), + libraries: [ unity_lib ], description: 'C Unit testing framework.' ) # Create a generator that can be used by consumers of our build system to generate # test runners. gen_test_runner = generator( - find_program(meson.project_source_root() / 'auto' / 'generate_test_runner.rb'), + find_program('auto/generate_test_runner.rb'), output: '@BASENAME@_Runner.c', arguments: ['@INPUT@', '@OUTPUT@'] ) - -# Summarize. -summary( - { - 'Fixture extension': build_fixture, - 'Memory extension': build_memory, - }, - section: 'Extensions', - bool_yn: true -) diff --git a/meson_options.txt b/meson_options.txt index 10b136f..fbb66d7 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,2 +1,2 @@ -option('extension_fixture', type: 'feature', value: 'disabled', description: 'Whether to use the fixture extension.') -option('extension_memory', type: 'feature', value: 'disabled', description: 'Whether to use the memory extension.') +option('extension_fixture', type: 'boolean', value: 'false', description: 'Whether to enable the fixture extension.') +option('extension_memory', type: 'boolean', value: 'false', description: 'Whether to enable the memory extension.')