diff --git a/CMakeModules/CorsikaUtilities.cmake b/CMakeModules/CorsikaUtilities.cmake index fb6517c48b189d9fdb0041c626199a113d2bd229..025e3f02379b9575a0ba3e50e6b965fe9427b487 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 809f696e27fe7dfd00e13a8a7bdc5dd3e54d4ef9..a465b7b0caeaa1dee383cca58d86c81d77d203cf 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