maint(common): use cpp_std=c++17 in meson project default_options

We attempted to set the C++ version in standard.meson.build, but this
does not work well as the option name varies by platform, and it also
triggers a warning in meson. This fix moves the setting into each
meson.build project() default_options. As there are only a handful
of these, the maintenance burden is not high.

Fixes: #14432
Relates-to: #14355
Build-bot: build
Test-bot: skip
This commit is contained in:
Marc Durdin 2025-08-01 10:20:39 +10:00
parent a92ee4f6f3
commit 808b6557d6
7 changed files with 6 additions and 7 deletions

View file

@ -9,6 +9,7 @@ project('keyman_core', 'cpp', 'c',
version: files('../VERSION.md'),
license: 'MIT',
default_options : ['buildtype=release',
'cpp_std=c++17',
'b_vscrt=static_from_buildtype',
'warning_level=2',
'debug=true'],

View file

@ -8,7 +8,7 @@ project('kmcmplib', 'cpp', 'c',
version: files('../../../VERSION.md'),
license: 'MIT',
default_options : ['buildtype=release',
'cpp_std=c++14',
'cpp_std=c++17',
'b_vscrt=static_from_buildtype',
'default_library=static',
'debug=true'])

View file

@ -1,5 +1,6 @@
project('ibus-keyman', 'c', 'cpp',
version: files('../../VERSION.md'),
default_options: ['cpp_std=c++17'],
license: 'GPL-2+',
meson_version: '>=1.0')

View file

@ -1,5 +1,6 @@
project('keyman-system-service', 'c', 'cpp',
version: files('../../VERSION.md'),
default_options: ['cpp_std=c++17'],
license: 'MIT',
meson_version: '>=1.0')

View file

@ -1,6 +1,7 @@
project(
'mcompile', 'c', 'cpp',
version: files('../../../VERSION.md'),
default_options: ['cpp_std=c++17'],
license: 'MIT',
meson_version: '>=1.0',
)

View file

@ -1,5 +1,6 @@
project('mcompile', 'c', 'cpp',
version: files('../../VERSION.md'),
default_options: ['cpp_std=c++17'],
license: 'MIT',
meson_version: '>=1.0')

View file

@ -16,12 +16,6 @@
cpp_compiler = meson.get_compiler('cpp')
c_compiler = meson.get_compiler('c')
# Unfortunately this outputs a warning: 'Consider using the built-in option
# for language standard version instead of using "-std=c++17".'
# But that is not possible to do after creating the project...
# See also https://github.com/mesonbuild/meson/issues/10685
add_project_arguments('-std=c++17', language: 'cpp')
#
# Standard informational messages for our builds
#