Mesa (main): dozen: require c++20 for designated initializers

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 5 17:26:48 UTC 2022


Module: Mesa
Branch: main
Commit: f607db26892310591dc8b3b2fa003c9cfa2a848d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f607db26892310591dc8b3b2fa003c9cfa2a848d

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Fri Apr  1 09:07:40 2022 +0200

dozen: require c++20 for designated initializers

We do require C++20 still, because designated initializers is part of
that standard. This is almost a revert, but conditionally selecting
between c++latest or c++20 when available, as that's what we really want.

Fixes: 55ca1c8db37 ("vulkan/microsoft: Remove `override_options: ['cpp_std=c++latest']` option for visual studio")
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15706>

---

 src/microsoft/vulkan/meson.build | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/microsoft/vulkan/meson.build b/src/microsoft/vulkan/meson.build
index f2989bcbeb9..2d8ce7a8092 100644
--- a/src/microsoft/vulkan/meson.build
+++ b/src/microsoft/vulkan/meson.build
@@ -64,6 +64,14 @@ if with_platform_windows
   dzn_flags += '-DVK_USE_PLATFORM_WIN32_KHR'
 endif
 
+if meson.version().version_compare('>= 0.60')
+  cpp_std = 'cpp_std=c++20'
+elif cpp.get_id() == 'msvc'
+  cpp_std = 'cpp_std=c++latest'
+else
+  cpp_std = 'cpp_std=c++2a'
+endif
+
 libvulkan_dzn = shared_library(
   'vulkan_dzn',
   [libdzn_files, dzn_entrypoints, sha1_h],
@@ -78,7 +86,8 @@ libvulkan_dzn = shared_library(
   gnu_symbol_visibility : 'hidden',
   link_args : [ld_args_bsymbolic, ld_args_gc_sections],
   name_prefix : host_machine.system() == 'windows' ? '' : 'lib',
-  install : true
+  install : true,
+  override_options: [cpp_std]
 )
 
 icd_file_name = 'libvulkan_dzn.so'



More information about the mesa-commit mailing list