From f6b5a6a10cdb6070ced5d9bae953fea0d2f94507 Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Fri, 30 Oct 2020 00:41:30 +0700 Subject: [PATCH] fix catch2 tag --- README.md | 14 +++++++++++--- untests/CMakeLists.txt | 42 +++++++++++++++++++++++++++--------------- 2 files changed, 38 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index eb34cd0..8a288cc 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # flat.hpp +> Library of flat vector-like based associative containers + [![travis][badge.travis]][travis] [![appveyor][badge.appveyor]][appveyor] [![codecov][badge.codecov]][codecov] @@ -7,9 +9,9 @@ [![license][badge.license]][license] [![paypal][badge.paypal]][paypal] -[badge.travis]: https://img.shields.io/travis/BlackMATov/flat.hpp/master.svg?logo=travis -[badge.appveyor]: https://img.shields.io/appveyor/ci/BlackMATov/flat-hpp/master.svg?logo=appveyor -[badge.codecov]: https://img.shields.io/codecov/c/github/BlackMATov/flat.hpp/master.svg?logo=codecov +[badge.travis]: https://img.shields.io/travis/BlackMATov/flat.hpp/main.svg?logo=travis +[badge.appveyor]: https://img.shields.io/appveyor/ci/BlackMATov/flat-hpp/main.svg?logo=appveyor +[badge.codecov]: https://img.shields.io/codecov/c/github/BlackMATov/flat.hpp/main.svg?logo=codecov [badge.language]: https://img.shields.io/badge/language-C%2B%2B17-yellow.svg [badge.license]: https://img.shields.io/badge/license-MIT-blue.svg [badge.paypal]: https://img.shields.io/badge/donate-PayPal-orange.svg?logo=paypal&colorA=00457C @@ -23,6 +25,12 @@ [flat]: https://github.com/BlackMATov/flat.hpp +## Requirements + +- [gcc](https://www.gnu.org/software/gcc/) **>= 7** +- [clang](https://clang.llvm.org/) **>= 5.0** +- [msvc](https://visualstudio.microsoft.com/) **>= 2017** + ## Installation [flat.hpp][flat] is a header-only library. All you need to do is copy the headers files from `headers` directory into your project and include them: diff --git a/untests/CMakeLists.txt b/untests/CMakeLists.txt index e37f8fc..b0f1d39 100644 --- a/untests/CMakeLists.txt +++ b/untests/CMakeLists.txt @@ -3,18 +3,9 @@ cmake_minimum_required(VERSION 3.11 FATAL_ERROR) project(flat.hpp.untests) -set(CATCH_BUILD_TESTING OFF CACHE BOOL "" FORCE) - -include(FetchContent) -FetchContent_Declare( - catch2 - GIT_REPOSITORY https://github.com/catchorg/catch2) - -FetchContent_GetProperties(catch2) -if(NOT catch2_POPULATED) - FetchContent_Populate(catch2) - add_subdirectory(${catch2_SOURCE_DIR} ${catch2_BINARY_DIR}) -endif() +# +# coverage +# option(BUILD_WITH_COVERAGE "Build with coverage" OFF) if(BUILD_WITH_COVERAGE AND (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")) @@ -24,11 +15,14 @@ if(BUILD_WITH_COVERAGE AND (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")) set(CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} ${COVERAGE_FLAGS}") endif() +# +# executable +# + file(GLOB UNTESTS_SOURCES "*.cpp" "*.hpp") add_executable(${PROJECT_NAME} ${UNTESTS_SOURCES}) -target_link_libraries(${PROJECT_NAME} - Catch2 - flat.hpp) +target_link_libraries(${PROJECT_NAME} flat.hpp) + target_compile_options(${PROJECT_NAME} PRIVATE $<$: @@ -36,4 +30,22 @@ target_compile_options(${PROJECT_NAME} PRIVATE $<$,$,$>: -Wall -Wextra -Wpedantic>) + add_test(${PROJECT_NAME} ${PROJECT_NAME}) + +# +# catchorg/catch2 +# + +include(FetchContent) +FetchContent_Declare( + catchorg_catch2 + GIT_REPOSITORY https://github.com/catchorg/catch2 + GIT_TAG v2.13.2) + +FetchContent_GetProperties(catchorg_catch2) +if(NOT catchorg_catch2_POPULATED) + FetchContent_Populate(catchorg_catch2) + target_include_directories(${PROJECT_NAME} + PRIVATE ${catchorg_catch2_SOURCE_DIR}/single_include) +endif()