From 1c0a100850986563734433934841b723fce06881 Mon Sep 17 00:00:00 2001
From: Timo Koch <timo.koch@iws.uni-stuttgart.de>
Date: Thu, 12 Oct 2017 10:16:36 +0200
Subject: [PATCH] [cmake] Add a build_tutorials convenience target to build all
 tutorials

---
 tutorial/CMakeLists.txt                     | 2 ++
 tutorial/ex1/CMakeLists.txt                 | 9 +++++++--
 tutorial/ex2/CMakeLists.txt                 | 3 +++
 tutorial/tutorial_implicit/CMakeLists.txt   | 3 +++
 tutorial/tutorial_sequential/CMakeLists.txt | 3 +++
 5 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/tutorial/CMakeLists.txt b/tutorial/CMakeLists.txt
index 72c0c32f69..981fac5436 100644
--- a/tutorial/CMakeLists.txt
+++ b/tutorial/CMakeLists.txt
@@ -1,3 +1,5 @@
+add_custom_target(build_tutorials)
+
 add_subdirectory(ex1)
 add_subdirectory(ex2)
 add_subdirectory(ex3)
diff --git a/tutorial/ex1/CMakeLists.txt b/tutorial/ex1/CMakeLists.txt
index 8f7d6e6d61..9de06a78cb 100644
--- a/tutorial/ex1/CMakeLists.txt
+++ b/tutorial/ex1/CMakeLists.txt
@@ -1,10 +1,15 @@
 # the immiscible two-phase simulation program
 dune_add_test(NAME exercise1_2p
-              SOURCES exercise1_2p.cc)
+              SOURCES exercise1_2p.cc
+              COMMAND exercise1_2p exercise1.input)
 
 # the compositional two-phase simulation program
 dune_add_test(NAME exercise1_2p2c
-              SOURCES exercise1_2p2c.cc)
+              SOURCES exercise1_2p2c.cc
+              COMMAND exercise1_2p2c exercise1.input)
+
+# add tutorial to the common target
+add_dependencies(build_tutorials exercise1_2p exercise1_2p2c)
 
 # add a symlink for the input file
 dune_symlink_to_source_files(FILES "exercise1.input")
diff --git a/tutorial/ex2/CMakeLists.txt b/tutorial/ex2/CMakeLists.txt
index d53f775c2a..d2acc717c0 100644
--- a/tutorial/ex2/CMakeLists.txt
+++ b/tutorial/ex2/CMakeLists.txt
@@ -2,5 +2,8 @@
 dune_add_test(NAME exercise2
               SOURCES exercise2.cc)
 
+# add tutorial to the common target
+add_dependencies(build_tutorials exercise2)
+
 # add a symlink for the input file
 dune_symlink_to_source_files(FILES "exercise2.input")
diff --git a/tutorial/tutorial_implicit/CMakeLists.txt b/tutorial/tutorial_implicit/CMakeLists.txt
index e73f579367..db3cb54e34 100644
--- a/tutorial/tutorial_implicit/CMakeLists.txt
+++ b/tutorial/tutorial_implicit/CMakeLists.txt
@@ -3,6 +3,9 @@ add_input_file_links()
 add_dumux_test(tutorial_implicit tutorial_implicit tutorial_implicit.cc
   ${CMAKE_CURRENT_BINARY_DIR}/tutorial_implicit)
 
+# add tutorial to the common target
+add_dependencies(build_tutorials tutorial_implicit)
+
 #install sources
 install(FILES
 tutorial_implicit.cc
diff --git a/tutorial/tutorial_sequential/CMakeLists.txt b/tutorial/tutorial_sequential/CMakeLists.txt
index d4ddb99d63..51bb2cf166 100644
--- a/tutorial/tutorial_sequential/CMakeLists.txt
+++ b/tutorial/tutorial_sequential/CMakeLists.txt
@@ -3,6 +3,9 @@ add_input_file_links()
 add_dumux_test(tutorial_sequential tutorial_sequential tutorial_sequential.cc
               ${CMAKE_CURRENT_BINARY_DIR}/tutorial_sequential)
 
+# add tutorial to the common target
+add_dependencies(build_tutorials tutorial_sequential)
+
 #install sources
 install(FILES
 tutorial_sequential.cc
-- 
GitLab