aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/catch2/examples/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/catch2/examples/CMakeLists.txt')
-rw-r--r--contrib/catch2/examples/CMakeLists.txt62
1 files changed, 62 insertions, 0 deletions
diff --git a/contrib/catch2/examples/CMakeLists.txt b/contrib/catch2/examples/CMakeLists.txt
new file mode 100644
index 0000000..d45ddfc
--- /dev/null
+++ b/contrib/catch2/examples/CMakeLists.txt
@@ -0,0 +1,62 @@
+cmake_minimum_required( VERSION 3.16 )
+
+project( Catch2Examples LANGUAGES CXX )
+
+message( STATUS "Examples included" )
+
+
+# Some one-offs first:
+# 1) Tests and main in one file
+add_executable( 010-TestCase
+ 010-TestCase.cpp
+)
+
+# 2) Tests and main across two files
+add_executable( 020-MultiFile
+ 020-TestCase-1.cpp
+ 020-TestCase-2.cpp
+)
+
+add_executable(231-Cfg_OutputStreams
+ 231-Cfg-OutputStreams.cpp
+)
+target_link_libraries(231-Cfg_OutputStreams Catch2_buildall_interface)
+target_compile_definitions(231-Cfg_OutputStreams PUBLIC CATCH_CONFIG_NOSTDOUT)
+
+# These examples use the standard separate compilation
+set( SOURCES_IDIOMATIC_EXAMPLES
+ 030-Asn-Require-Check.cpp
+ 100-Fix-Section.cpp
+ 110-Fix-ClassFixture.cpp
+ 111-Fix-PersistentFixture.cpp
+ 120-Bdd-ScenarioGivenWhenThen.cpp
+ 210-Evt-EventListeners.cpp
+ 232-Cfg-CustomMain.cpp
+ 300-Gen-OwnGenerator.cpp
+ 301-Gen-MapTypeConversion.cpp
+ 302-Gen-Table.cpp
+ 310-Gen-VariablesInGenerators.cpp
+ 311-Gen-CustomCapture.cpp
+)
+
+string( REPLACE ".cpp" "" BASENAMES_IDIOMATIC_EXAMPLES "${SOURCES_IDIOMATIC_EXAMPLES}" )
+set( TARGETS_IDIOMATIC_EXAMPLES ${BASENAMES_IDIOMATIC_EXAMPLES} )
+
+
+foreach( name ${TARGETS_IDIOMATIC_EXAMPLES} )
+ add_executable( ${name} ${name}.cpp )
+endforeach()
+
+set(ALL_EXAMPLE_TARGETS
+ ${TARGETS_IDIOMATIC_EXAMPLES}
+ 010-TestCase
+ 020-MultiFile
+)
+
+foreach( name ${ALL_EXAMPLE_TARGETS} )
+ target_link_libraries( ${name} Catch2WithMain )
+endforeach()
+
+
+list(APPEND CATCH_WARNING_TARGETS ${ALL_EXAMPLE_TARGETS})
+set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE)