Integrate CMake with <catch2/catch.hpp> include paths

This also goes for pkg-config installed by our CMake installation.

This includes

* Updating CMake version on Travis
* Adding a `Catch2` subfolder to the `single_include/` folder to
provide this include path both _inside_ the repository, and _outside_.
* Updated examples to build with the new paths
* Other general CMake cleanup
This commit is contained in:
Martin Hořeňovský
2018-06-11 10:48:10 +02:00
parent 35a57b070f
commit 44722f9ed3
24 changed files with 476 additions and 434 deletions

View File

@@ -6,7 +6,7 @@
// Let Catch provide main():
#define CATCH_CONFIG_MAIN
#include "catch.hpp"
#include <catch2/catch.hpp>
// That's it

View File

@@ -3,7 +3,7 @@
// Let Catch provide main():
#define CATCH_CONFIG_MAIN
#include "catch.hpp"
#include <catch2/catch.hpp>
int Factorial( int number ) {
return number <= 1 ? number : Factorial( number - 1 ) * number; // fail

View File

@@ -6,7 +6,7 @@
// Let Catch provide main():
#define CATCH_CONFIG_MAIN
#include "catch.hpp"
#include <catch2/catch.hpp>
TEST_CASE( "1: All test cases reside in other .cpp files (empty)", "[multi-file:1]" ) {
}

View File

@@ -2,7 +2,7 @@
// main() provided by Catch in file 020-TestCase-1.cpp.
#include "catch.hpp"
#include <catch2/catch.hpp>
int Factorial( int number ) {
return number <= 1 ? number : Factorial( number - 1 ) * number; // fail

View File

@@ -10,7 +10,7 @@
// main() provided in 000-CatchMain.cpp
#include "catch.hpp"
#include <catch2/catch.hpp>
std::string one() {
return "1";

View File

@@ -6,7 +6,7 @@
// main() provided in 000-CatchMain.cpp
#include "catch.hpp"
#include <catch2/catch.hpp>
TEST_CASE( "vectors can be sized and resized", "[vector]" ) {

View File

@@ -6,7 +6,7 @@
// main() provided in 000-CatchMain.cpp
#include "catch.hpp"
#include <catch2/catch.hpp>
class DBConnection
{

View File

@@ -2,7 +2,7 @@
// main() provided in 000-CatchMain.cpp
#include "catch.hpp"
#include <catch2/catch.hpp>
SCENARIO( "vectors can be sized and resized", "[vector]" ) {

View File

@@ -10,7 +10,7 @@
// Let Catch provide the required interfaces:
#define CATCH_CONFIG_EXTERNAL_INTERFACES
#include "catch.hpp"
#include <catch2/catch.hpp>
#include <iostream>
// -----------------------------------------------------------------------

View File

@@ -68,16 +68,16 @@ set( TARGETS_ALL ${TARGETS_SINGLE_FILE} ${TARGETS_IDIOMATIC_TESTS} 0
# define program targets:
add_library( CatchMain OBJECT ${EXAMPLES_DIR}/${SOURCES_IDIOMATIC_MAIN} ${HEADER_DIR}/catch.hpp )
add_library( CatchMain OBJECT ${EXAMPLES_DIR}/${SOURCES_IDIOMATIC_MAIN} ${HEADER_DIR}/catch2/catch.hpp )
add_executable( 020-TestCase ${EXAMPLES_DIR}/020-TestCase-1.cpp ${EXAMPLES_DIR}/020-TestCase-2.cpp ${HEADER_DIR}/catch.hpp )
add_executable( 020-TestCase ${EXAMPLES_DIR}/020-TestCase-1.cpp ${EXAMPLES_DIR}/020-TestCase-2.cpp ${HEADER_DIR}/catch2/catch.hpp )
foreach( name ${TARGETS_SINGLE_FILE} )
add_executable( ${name} ${EXAMPLES_DIR}/${name}.cpp ${HEADER_DIR}/catch.hpp )
add_executable( ${name} ${EXAMPLES_DIR}/${name}.cpp ${HEADER_DIR}/catch2/catch.hpp )
endforeach()
foreach( name ${TARGETS_IDIOMATIC_TESTS} )
add_executable( ${name} ${EXAMPLES_DIR}/${name}.cpp $<TARGET_OBJECTS:CatchMain> ${HEADER_DIR}/catch.hpp )
add_executable( ${name} ${EXAMPLES_DIR}/${name}.cpp $<TARGET_OBJECTS:CatchMain> ${HEADER_DIR}/catch2/catch.hpp )
endforeach()
foreach( name ${TARGETS_ALL} )