--- meson.build 2025-11-21 13:42:58.000000000 +0800 +++ meson.build 2026-07-11 18:10:44.000000000 +0800 @@ -3,7 +3,7 @@ 'ashuffle', ['c', 'cpp'], version: 'v3.14.10', - default_options: ['cpp_std=c++17', 'warning_level=2'] + default_options: ['cpp_std=c++20', 'warning_level=2'] ) add_global_arguments( @@ -110,7 +110,7 @@ absl_opts = cmake.subproject_options() absl_opts.add_cmake_defines({ - 'CMAKE_CXX_STANDARD': '17', + 'CMAKE_CXX_STANDARD': '20', # See above. 'CMAKE_PROJECT_absl_INCLUDE': absl_project_inc, # Absl's CMAKE build feels like it is MinGW for some reason when building @@ -132,7 +131,7 @@ else cpp = meson.get_compiler('cpp') - # note that the system's absl needs to be compiled for C++17 standard + # note that the system's absl needs to be compiled for C++17 or C++20 standard # or final link will fail. foreach lib : absl_libs dep = dependency(lib) @@ -145,7 +145,7 @@ if not get_option('unsupported_use_system_yamlcpp') yaml_cpp_opts = cmake.subproject_options() yaml_cpp_opts.add_cmake_defines({ - 'CMAKE_CXX_STANDARD': '17', + 'CMAKE_CXX_STANDARD': '20', 'YAML_BUILD_SHARED_LIBS': 'OFF', # Use new linker policy to avoid warnings. 'CMAKE_POLICY_DEFAULT_CMP0156': 'NEW', @@ -219,7 +218,7 @@ googletest_opts = cmake.subproject_options() googletest_opts.add_cmake_defines({ 'BUILD_GMOCK': 'ON', - 'CMAKE_CXX_STANDARD': '17', + 'CMAKE_CXX_STANDARD': '20', 'INSTALL_GTEST': 'OFF', # Use new linker policy to avoid warnings. 'CMAKE_POLICY_DEFAULT_CMP0156': 'NEW',