Daniel J. Rollins 39bfc6e82b Export Catch as a CMake package and 'linkable' target
Create a namespaced Catch2::Catch target that is 'linkable' through
`target_link_libraries()` and export it so it is findable through
`find_package()`.

`find_package()` will find versions with the same major number and with
minor number >= requested.

This makes catch a lot easier to use in CMake-based projects. Whether it
is found using `find_package` or included in the client project as a
subdirectory, the client can include the catch headers per-target with
`target_include_directories(target PRIVATE Catch2::Catch).

Example usage:

    cmake_minimum_required(VERSION 3.1)

    # include Catch2 as subdirectory or installed package
    # add_subdirectory(Catch2)
    find_package(Catch2 VERSION 2.1.0 REQUIRED)

    add_executable(tests tests/catch_main.cpp)
    target_link_libraries(tests PRIVATE Catch2::Catch)
2018-02-08 12:18:42 +01:00
2017-11-07 11:41:49 +00:00
2017-11-27 20:13:47 +01:00
2018-01-11 21:17:12 +01:00
2018-02-01 20:29:49 +01:00
2018-01-18 23:20:26 +01:00
2018-01-18 23:20:26 +01:00
2018-02-05 10:03:51 +01:00
2018-01-26 16:06:07 +01:00
2018-01-26 16:06:07 +01:00
2018-01-22 15:08:28 +00:00
2018-01-05 14:39:59 +00:00
2018-01-18 23:20:26 +01:00
2018-01-18 23:20:26 +01:00
2017-08-17 07:45:12 +01:00
2018-01-26 16:06:07 +01:00
2018-01-26 16:06:07 +01:00

catch logo

Github Releases Build Status Build status codecov Try online

The latest version of the single header can be downloaded directly using this link

Catch2 is released!

If you've been using an earlier version of Catch, please see the Breaking Changes section of the release notes before moving to Catch2. You might also like to read this blog post for more details.

What's the Catch?

Catch2 stands for C++ Automated Test Cases in a Header and is a multi-paradigm test framework for C++. which also supports Objective-C (and maybe C). It is primarily distributed as a single header file, although certain extensions may require additional headers.

How to use it

This documentation comprises these three parts:

More

Description
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
Readme 48 MiB
Languages
C++ 90.1%
CMake 5.5%
Python 3.2%
Meson 0.7%
Starlark 0.3%