From 56d451013824da20c394779088b9b43716d9b2b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Tue, 2 Jul 2019 20:42:10 +0200 Subject: [PATCH] Default the SelfTest project to C++11 Unlike the previous approach, this will still obey `-DCMAKE_CXX_STANDARD=X` properly. --- projects/CMakeLists.txt | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/projects/CMakeLists.txt b/projects/CMakeLists.txt index 06b582ea..fc255cd2 100644 --- a/projects/CMakeLists.txt +++ b/projects/CMakeLists.txt @@ -308,6 +308,32 @@ include(CTest) add_executable(SelfTest ${TEST_SOURCES} ${IMPL_SOURCES} ${REPORTER_SOURCES} ${SURROGATE_SOURCES} ${HEADERS}) target_include_directories(SelfTest PRIVATE ${HEADER_DIR}) +# It took CMake until 3.8 to abandon the doomed approach of enumerating +# required features so we just list C++11 features to support older ones. +target_compile_features(SelfTest + PRIVATE + cxx_alignas + cxx_alignof + cxx_attributes + cxx_auto_type + cxx_constexpr + cxx_defaulted_functions + cxx_deleted_functions + cxx_final + cxx_lambdas + cxx_noexcept + cxx_override + cxx_range_for + cxx_rvalue_references + cxx_static_assert + cxx_strong_enums + cxx_trailing_return_types + cxx_unicode_literals + cxx_user_literals + cxx_variadic_macros +) + + if (CATCH_ENABLE_COVERAGE) set(ENABLE_COVERAGE ON CACHE BOOL "Enable coverage build." FORCE) find_package(codecov)