From f2c318b543b2f0c5caeb4d3ce501a0ebbe634285 Mon Sep 17 00:00:00 2001
From: rulrich <ralf.m.ulrich@kit.edu>
Date: Fri, 29 May 2020 08:34:02 +0200
Subject: [PATCH] allow example options

---
 CMakeModules/CorsikaUtilities.cmake   | 20 +++++++++++++++-----
 Documentation/Examples/CMakeLists.txt |  2 +-
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/CMakeModules/CorsikaUtilities.cmake b/CMakeModules/CorsikaUtilities.cmake
index fb6517c48..025e3f023 100644
--- a/CMakeModules/CorsikaUtilities.cmake
+++ b/CMakeModules/CorsikaUtilities.cmake
@@ -181,14 +181,24 @@ endfunction (CORSIKA_ADD_TEST)
 # target_link_libraries(testSomething ...) and so on.
 #
 function (CORSIKA_ADD_EXAMPLE)
-  cmake_parse_arguments (PARSE_ARGV 1 _ "" "" "SOURCES")
-
+  set (options "")
+  set (oneValueArgs RUN_OPTIONS)
+  set (multiValueArgs SOURCES)
+  cmake_parse_arguments (CORSKA_ADD_EXAMPLE "${options}" "${oneValueArgs}"
+    "${multiValueArgs}" ${ARGN} )
+    
   set (name ${ARGV0})
 
-  if (NOT __SOURCES)
+  if (NOT CORSIKA_ADD_EXAMPLE_SOURCES)
     set (sources ${name}.cc)
   else ()
-    set (sources ${__SOURCES})
+    set (sources ${CORSIKA_ADD_EXAMPLE_SOURCES})
+  endif ()
+
+  if (NOT CORSIKA_ADD_EXAMPLE_RUN_OPTIONS)
+    set (run_options "")
+  else ()
+    set (run_option ${CORSIKA_ADD_EXAMPLE_RUN_OPTIONS})
   endif ()
 
   add_executable (${name} ${sources})
@@ -204,7 +214,7 @@ function (CORSIKA_ADD_EXAMPLE)
     COMMAND ${CMAKE_COMMAND} -E echo ""
     COMMAND ${CMAKE_COMMAND} -E echo "***************************************"
     COMMAND ${CMAKE_COMMAND} -E echo "*****   running example: ${name}"
-    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${name}
+    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${name} ${run_options}
     WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/example_outputs)
   install (TARGETS ${name} DESTINATION share/examples)
 endfunction (CORSIKA_ADD_EXAMPLE)
diff --git a/Documentation/Examples/CMakeLists.txt b/Documentation/Examples/CMakeLists.txt
index 809f696e2..a465b7b0c 100644
--- a/Documentation/Examples/CMakeLists.txt
+++ b/Documentation/Examples/CMakeLists.txt
@@ -82,7 +82,7 @@ if (Pythia8_FOUND)
     CORSIKAprocesssequence
     )
 
-  CORSIKA_ADD_EXAMPLE (vertical_EAS)
+  CORSIKA_ADD_EXAMPLE (vertical_EAS RUN_OPTIONS "4 2 10000.")
   target_link_libraries (vertical_EAS
     SuperStupidStack
     CORSIKAunits
-- 
GitLab