From: Erik Faye-Lund Date: Fri, 1 Apr 2022 07:07:40 +0000 (+0200) Subject: dozen: require c++20 for designated initializers X-Git-Tag: upstream/22.3.5~10926 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f607db26892310591dc8b3b2fa003c9cfa2a848d;p=platform%2Fupstream%2Fmesa.git 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 Reviewed-by: Yonggang Luo Part-of: --- diff --git a/src/microsoft/vulkan/meson.build b/src/microsoft/vulkan/meson.build index f2989bc..2d8ce7a 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'