mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-23 19:53:28 +01:00
558bbe7d24
Prevent warnings - gnu: -Wcomment: multi-line comment - clang: -Wweak-vtables 'class' has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit - clang: -Winconsistent-missing-override: 'method' overrides a member function but is not marked 'override' - MSVC: C4702: unreachable code
28 lines
884 B
C++
28 lines
884 B
C++
// 200-Rpt-CatchMain.cpp
|
|
|
|
// In a Catch project with multiple files, dedicate one file to compile the
|
|
// source code of Catch itself and reuse the resulting object file for linking.
|
|
|
|
// Let Catch provide main():
|
|
#define CATCH_CONFIG_MAIN
|
|
|
|
#include <catch2/catch.hpp>
|
|
|
|
#ifdef CATCH_EXAMPLE_RPT_1
|
|
#include CATCH_EXAMPLE_RPT_1
|
|
#endif
|
|
|
|
#ifdef CATCH_EXAMPLE_RPT_2
|
|
#include CATCH_EXAMPLE_RPT_2
|
|
#endif
|
|
|
|
#ifdef CATCH_EXAMPLE_RPT_3
|
|
#include CATCH_EXAMPLE_RPT_3
|
|
#endif
|
|
|
|
// That's it
|
|
|
|
// Compile implementation of Catch for use with files that do contain tests:
|
|
// - g++ -std=c++11 -Wall -I$(CATCH_ROOT) -DCATCH_EXAMPLE_RPT_1=\"include/reporters/catch_reporter_teamcity.hpp\" -o 200-Rpt-CatchMainTeamCity.o -c 200-Rpt-CatchMain.cpp
|
|
// cl -EHsc -I%CATCH_ROOT% -DCATCH_EXAMPLE_RPT_1=\"include/reporters/catch_reporter_teamcity.hpp\" -Fo200-Rpt-CatchMainTeamCity.obj -c 200-Rpt-CatchMain.cpp
|