diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ec19620..a10d084 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,8 @@ ################################################################################ # VIKUNJA_CXX : {g++, clang++} -# [g++] : {5, 6, 7, 8, 9} +# [g++] : {7, 8, 9, 10, 11} # [clang++] : {4.0, 5.0, 6.0, 7, 8, 9, 10} -# ALPAKA_CXX_STANDARD . {14, 17, 20}, optional +# ALPAKA_CXX_STANDARD . {17, 20}, optional # VIKUNJA_BOOST_VERSIONS : {1.65.1, 1.66.0, 1.67.0, 1.68.0, 1.69.0, 1.70.0, 1.71.0, 1.72.0, 1.73.0} # VIKUNJA_BUILD_TYPE : {Debug, Release} # VIKUNJA_CMAKE_ARGS : @@ -38,13 +38,6 @@ pull-request-validation: variables: VIKUNJA_ALPAKA_VERSIONS: "0.6.0 0.6.1 0.7.0 0.8.0" -cuda102: - image: registry.gitlab.com/hzdr/crp/alpaka-group-container/alpaka-ci-cuda102-gcc:1.4 - variables: - VIKUNJA_CXX: "g++-7" - VIKUNJA_BOOST_VERSIONS: "1.65.1 1.66.0 1.67.0 1.68.0 1.69.0 1.70.0 1.71.0 1.72.0 1.73.0" - extends: .base_cuda - cuda112: image: registry.gitlab.com/hzdr/crp/alpaka-group-container/alpaka-ci-cuda112-gcc:1.4 variables: @@ -54,7 +47,7 @@ cuda112: gcc: variables: - VIKUNJA_CXX: "g++-5 g++-6 g++-7 g++-8 g++-9" + VIKUNJA_CXX: "g++-7 g++-8 g++-9 g++-10 g++-11" VIKUNJA_BOOST_VERSIONS: "1.65.1 1.75.0" extends: .base_gcc diff --git a/CMakeLists.txt b/CMakeLists.txt index cb4fe02..cc34500 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ project(vikunja HOMEPAGE_URL "https://github.com/alpaka-group/vikunja" LANGUAGES CXX) -set(ALPAKA_CXX_STANDARD "14" CACHE STRING "C++ standard version") +set(ALPAKA_CXX_STANDARD "17" CACHE STRING "C++ standard version") include(CMakeDependentOption) include(FetchContent) @@ -49,6 +49,9 @@ if(NOT TARGET alpaka::alpaka) endif() endif() +# Override poperty, as alpaka <= 0.8.0 supports C++ 14 and vikunja does not. +set_property(CACHE ALPAKA_CXX_STANDARD PROPERTY STRINGS "17;20") + add_library(${PROJECT_NAME} INTERFACE) target_include_directories(${PROJECT_NAME} INTERFACE @@ -56,7 +59,7 @@ target_include_directories(${PROJECT_NAME} $) add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) -#The target vikunja::internalvikunja is for internal use only, such as the tests or examples. +# The target vikunja::internalvikunja is for internal use only, such as the tests or examples. # For external projects that use vikunja, the target vikunja::vikunja should be used. # The internal target links alpaka to make it easier to use vikunja, but the target cannot be diff --git a/README.md b/README.md index 1f43d3c..403d45b 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Build Status](https://gitlab.com/hzdr/crp/vikunja/badges/master/pipeline.svg)](https://gitlab.com/hzdr/crp/vikunja/-/commits/master/) [![Documentation Status](https://readthedocs.org/projects/vikunja/badge/?version=latest)](https://vikunja.readthedocs.io) [![Doxygen](https://img.shields.io/badge/API-Doxygen-blue.svg)](https://vikunja.readthedocs.io/en/latest/doxygen/index.html) -[![Language](https://img.shields.io/badge/language-C%2B%2B14-orange.svg)](https://isocpp.org/) +[![Language](https://img.shields.io/badge/language-C%2B%2B17-orange.svg)](https://isocpp.org/) [![Platforms](https://img.shields.io/badge/platform-linux-lightgrey.svg)](https://github.com/alpaka-group/vikunja) [![License](https://img.shields.io/badge/license-MPL--2.0-blue.svg)](https://www.mozilla.org/en-US/MPL/2.0/) @@ -197,4 +197,4 @@ cmake --build . - Bernhard Manfred Gruber - Jan Stephan - Dr. Jiří Vyskočil -- Matthias Werner \ No newline at end of file +- Matthias Werner diff --git a/docs/source/index.rst b/docs/source/index.rst index f684598..4f8635d 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -44,4 +44,4 @@ Generally, **follow the manual pages in-order** to get started. Individual chapt development/docs.rst development/styleguide.rst development/ci.rst - development/apireference.rst \ No newline at end of file + development/apireference.rst diff --git a/include/vikunja/operators/operators.hpp b/include/vikunja/operators/operators.hpp index 48b032d..8a0f622 100644 --- a/include/vikunja/operators/operators.hpp +++ b/include/vikunja/operators/operators.hpp @@ -16,23 +16,6 @@ #include -namespace vikunjaStd -{ -#ifdef __cpp_lib_is_invocable - using std::is_invocable; -#else - // define std::is_invocable for c++14 and below - template - struct is_invocable - : std::is_constructible< - std::function, - std::reference_wrapper::type>> - { - }; - -#endif -} // namespace vikunjaStd - namespace vikunja { /** @@ -57,7 +40,7 @@ namespace vikunja template using enable_if_UnaryOp_without_TAcc - = std::enable_if_t()), TData>::value>; + = std::enable_if_t()), TData>::value>; /** * Operator trait for unary functors. @@ -87,7 +70,7 @@ namespace vikunja template using enable_if_UnaryOp_with_TAcc - = std::enable_if_t()), TAcc, TData>::value>; + = std::enable_if_t()), TAcc, TData>::value>; /** * Operator trait for unary functors. @@ -130,7 +113,7 @@ namespace vikunja template using enable_if_BinaryOp_without_TAcc - = std::enable_if_t()), TData1, TData2>::value>; + = std::enable_if_t()), TData1, TData2>::value>; /** * Operator trait for binary functors. @@ -163,7 +146,7 @@ namespace vikunja template using enable_if_BinaryOp_with_TAcc - = std::enable_if_t()), TAcc, TData1, TData2>::value>; + = std::enable_if_t()), TAcc, TData1, TData2>::value>; /** * Operator trait for binary functors. diff --git a/script/cxx_tests.yml b/script/cxx_tests.yml index 110c074..18fa71a 100644 --- a/script/cxx_tests.yml +++ b/script/cxx_tests.yml @@ -1,14 +1,5 @@ # the following jobs runs the test "text_cxx" -# test gcc build with manually set C++ 14 version -gcc_cxx14: - variables: - VIKUNJA_CXX: "g++-9" - VIKUNJA_BOOST_VERSIONS: "1.73.0" - VIKUNJA_CXX_TEST: "ON" - ALPAKA_CXX_STANDARD: 14 - extends: .base_gcc - # test gcc build with manually set C++ 17 version gcc_cxx17: variables: @@ -27,15 +18,6 @@ gcc_cxx20: ALPAKA_CXX_STANDARD: 20 extends: .base_gcc -# test clang build with manually set C++ 14 version -clang_cxx14: - variables: - VIKUNJA_CXX: "clang++-12" - VIKUNJA_BOOST_VERSIONS: "1.73.0" - VIKUNJA_CXX_TEST: "ON" - ALPAKA_CXX_STANDARD: 14 - extends: .base_clang - # test clang build with manually set C++ 17 version clang_cxx17: variables: @@ -53,16 +35,6 @@ clang_cxx20: VIKUNJA_CXX_TEST: "ON" ALPAKA_CXX_STANDARD: 20 extends: .base_clang - -# test cuda build with manually set C++ 14 version -cuda112_cxx14: - image: registry.gitlab.com/hzdr/crp/alpaka-group-container/alpaka-ci-cuda112-gcc:1.4 - variables: - VIKUNJA_CXX: "g++-9" - VIKUNJA_BOOST_VERSIONS: "1.73.0" - VIKUNJA_CXX_TEST: "ON" - ALPAKA_CXX_STANDARD: 14 - extends: .base_cuda # test cuda build with manually set C++ 17 version cuda112_cxx17: