From b6fa13f8dddf401ab99409dca69fe4e611e813a8 Mon Sep 17 00:00:00 2001 From: Martchus Date: Thu, 26 Jan 2023 22:23:46 +0100 Subject: [PATCH] Use C++ 20 when compiling with MSVC as it requires it for designated initializers --- cmake/modules/BasicConfig.cmake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmake/modules/BasicConfig.cmake b/cmake/modules/BasicConfig.cmake index f93d773..5b58943 100644 --- a/cmake/modules/BasicConfig.cmake +++ b/cmake/modules/BasicConfig.cmake @@ -120,7 +120,11 @@ endif () # set default CXX_STANDARD for all library, application and test targets if (NOT META_CXX_STANDARD) - set(META_CXX_STANDARD 17) + if (MSVC) + set(META_CXX_STANDARD 20) # MSVC needs C++ 20 mode for designated initializers + else () + set(META_CXX_STANDARD 17) + endif () endif () # set version to 0.0.0 if not specified explicitly