summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/configure.cmake27
-rw-r--r--tests/auto/corelib/global/qfloat16/CMakeLists.txt2
2 files changed, 28 insertions, 1 deletions
diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake
index 0b80923cf6b..7e0c05b0148 100644
--- a/src/corelib/configure.cmake
+++ b/src/corelib/configure.cmake
@@ -552,6 +552,28 @@ int main(void)
}
")
+# std::format support
+qt_config_compile_test(cxx20_format
+ LABEL "C++20 std::format support"
+ CODE
+"#include <format>
+#include <string>
+
+#if !defined(__cpp_lib_format) || (__cpp_lib_format < 202106L)
+#error
+#endif
+
+int main(void)
+{
+ /* BEGIN TEST: */
+const auto s = std::format(\"{}\", 1);
+ /* END TEST: */
+ return 0;
+}
+"
+ CXX_STANDARD 20
+)
+
# <stacktrace>
qt_config_compile_test(cxx23_stacktrace
LABEL "C++23 <stacktrace> support"
@@ -849,6 +871,11 @@ qt_feature("backtrace" PRIVATE
LABEL "backtrace"
CONDITION UNIX AND QT_FEATURE_regularexpression AND WrapBacktrace_FOUND
)
+qt_feature("cxx20_format" PRIVATE
+ LABEL "C++20 std::format support"
+ CONDITION TEST_cxx20_format # intentionally not checking QT_FEATURE_cxx20!
+ AUTODETECT TRUE
+)
qt_feature("cxx23_stacktrace" PRIVATE
LABEL "C++23 <stacktrace>"
CONDITION TEST_cxx23_stacktrace AND QT_FEATURE_cxx2b
diff --git a/tests/auto/corelib/global/qfloat16/CMakeLists.txt b/tests/auto/corelib/global/qfloat16/CMakeLists.txt
index f659036073c..2d4afc6569c 100644
--- a/tests/auto/corelib/global/qfloat16/CMakeLists.txt
+++ b/tests/auto/corelib/global/qfloat16/CMakeLists.txt
@@ -19,7 +19,7 @@ qt_internal_add_test(tst_qfloat16
)
# To test std::format support, if possible
-if(NOT VXWORKS)
+if(QT_FEATURE_cxx20_format)
set_target_properties(tst_qfloat16
PROPERTIES
CXX_STANDARD 20