IAP GITLAB

Commit 9b4abd2d authored by Ralf M Ulrich's avatar Ralf M Ulrich

run_examples target

parent 46802865
Pipeline #1332 failed
......@@ -11,7 +11,8 @@ variables:
stages:
- config
- quality
- build_test
- build
- test
- optional
# job/stage to just prepare cmake
......@@ -42,7 +43,6 @@ config-clang-8:
variables:
CORSIKA_DATA: "${CI_BUILDS_DIR}/AirShowerPhysics/corsika/corsika-data/"
script:
- git clone https://gitlab.ikp.kit.edu/AirShowerPhysics/corsika-data.git
- mkdir build
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=Debug -DWITH_PYTHIA=ON
......@@ -50,7 +50,6 @@ config-clang-8:
expire_in: 1 day
paths:
- build
- corsika-data
check-copyrights:
image: corsika/devel:u-18.04
......@@ -71,11 +70,11 @@ check-clang-format:
- ./do-clang-format.py --all
# normal pipeline for each commit
build-test-u-18_04:
build-u-18_04:
image: corsika/devel:u-18.04
dependencies:
- config-u-18_04
stage: build_test
stage: build
tags:
- corsika
variables:
......@@ -83,6 +82,43 @@ build-test-u-18_04:
script:
- cd build
- cmake --build . -- -j4
artifacts:
expire_in: 1 hour
paths:
- build
# normal pipeline for each commit
build-clang-8:
image: corsika/devel:clang-8
dependencies:
- config-clang-8
stage: build
tags:
- corsika
variables:
CORSIKA_DATA: "${CI_PROJECT_DIR}/corsika-data/"
script:
- cd build
- cmake --build . -- -j4
artifacts:
expire_in: 1 hour
reports:
paths:
- build
# normal pipeline for each commit
test-u-18_04:
image: corsika/devel:u-18.04
dependencies:
- build-u-18_04
stage: test
tags:
- corsika
variables:
CORSIKA_DATA: "${CI_PROJECT_DIR}/corsika-data/"
script:
- git clone https://gitlab.ikp.kit.edu/AirShowerPhysics/corsika-data.git
- cd build
- set -o pipefail
- ctest -VV | gzip -v -9 > test.log.gz
artifacts:
......@@ -95,18 +131,18 @@ build-test-u-18_04:
- build/test.log.gz
# normal pipeline for each commit
build-test-clang-8:
test-clang-8:
image: corsika/devel:clang-8
dependencies:
- config-clang-8
stage: build_test
- build-clang-8
stage: test
tags:
- corsika
variables:
CORSIKA_DATA: "${CI_PROJECT_DIR}/corsika-data/"
script:
- git clone https://gitlab.ikp.kit.edu/AirShowerPhysics/corsika-data.git
- cd build
- cmake --build . -- -j4
- set -o pipefail
- ctest -VV | gzip -v -9 > test.log.gz
artifacts:
......@@ -117,9 +153,57 @@ build-test-clang-8:
- build/test_outputs/junit*.xml
paths:
- build/test.log.gz
# normal pipeline for each commit
example-u-18_04:
image: corsika/devel:u-18.04
dependencies:
- build-u-18_04
stage: example
tags:
- corsika
variables:
CORSIKA_DATA: "${CI_PROJECT_DIR}/corsika-data/"
script:
- git clone https://gitlab.ikp.kit.edu/AirShowerPhysics/corsika-data.git
- cd build
- set -o pipefail
- make run_examples
artifacts:
when: always
expire_in: 1 week
reports:
junit:
- build/example_outputs/junit*.xml
paths:
- build/example.log.gz
# normal pipeline for each commit
example-clang-8:
image: corsika/devel:clang-8
dependencies:
- build-clang-8
stage: example
tags:
- corsika
variables:
CORSIKA_DATA: "${CI_PROJECT_DIR}/corsika-data/"
script:
- git clone https://gitlab.ikp.kit.edu/AirShowerPhysics/corsika-data.git
- cd build
- set -o pipefail
- make run_examples
artifacts:
when: always
expire_in: 1 week
reports:
junit:
- build/example_outputs/junit*.xml
paths:
- build/example.log.gz
# optional release pipeline for each commit
release-u-18_04:
release-full-u-18_04:
image: corsika/devel:u-18.04
dependencies:
- config-u-18_04
......@@ -129,11 +213,13 @@ release-u-18_04:
variables:
CORSIKA_DATA: "${CI_PROJECT_DIR}/corsika-data/"
script:
- git clone https://gitlab.ikp.kit.edu/AirShowerPhysics/corsika-data.git
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=Release
- cmake --build . -- -j4
- set -o pipefail
- ctest -VV | gzip -v -9 > test.log.gz
- make run_examples
artifacts:
when: always
expire_in: 1 week
......@@ -145,7 +231,7 @@ release-u-18_04:
when: manual
# optional release pipeline for each commit
release-clang-8:
release-full-clang-8:
image: corsika/devel:clang-8
dependencies:
- config-clang-8
......@@ -155,11 +241,13 @@ release-clang-8:
variables:
CORSIKA_DATA: "${CI_PROJECT_DIR}/corsika-data/"
script:
- git clone https://gitlab.ikp.kit.edu/AirShowerPhysics/corsika-data.git
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=Release
- cmake --build . -- -j4
- set -o pipefail
- ctest -VV | gzip -v -9 > test.log.gz
- ctest -VV | gzip -v -9 > test.log.gz
- make run_examples
artifacts:
when: always
expire_in: 1 week
......
......@@ -31,7 +31,8 @@ endfunction (CORSIKA_PREPEND_PATH)
#
# if needed, create symbolic links from the source files to this build-directory location
#
# any path information from input filenames is stripped, IF path was specified it is used for the link destination, if NOT the link is relative to the CMAKE_CURRENT_SOURCE_DIR
# any path information from input filenames is stripped, IF path was specified it is used for the link destination,
# if NOT the link is relative to the CMAKE_CURRENT_SOURCE_DIR
#
function (CORSIKA_COPY_HEADERS_TO_NAMESPACE for_library in_namespace)
set (HEADERS_BUILD "")
......@@ -153,3 +154,56 @@ function (CORSIKA_ADD_TEST)
endif ()
add_test (NAME ${name} COMMAND ${name} -o ${PROJECT_BINARY_DIR}/test_outputs/junit-${name}.xml -s -r junit)
endfunction (CORSIKA_ADD_TEST)
#################################################
#
# central macro to register an exmaple in cmake
#
# Examples can be globally executed by 'make run_examples'
#
# 1) Simple use:
# Pass the name of the test.cc file as the first
# argument, without the ".cc" extention.
#
# Example: CORSIKA_ADD_EXAMPLE (testSomething)
#
# This generates target testSomething from file testSomething.cc.
#
# 2) Customize sources:
# If 1) doesn't work, use the SOURCES keyword to explicitly
# specify the sources.
#
# Example: CORSIKA_ADD_EXAMPLE (testSomething
# SOURCES source1.cc source2.cc someheader.h)
#
# In all cases, you can further customize the target with
# target_link_libraries(testSomething ...) and so on.
#
function (CORSIKA_ADD_EXAMPLE)
cmake_parse_arguments (PARSE_ARGV 1 _ "" "" "SOURCES")
set (name ${ARGV0})
if (NOT __SOURCES)
set (sources ${name}.cc)
else ()
set (sources ${__SOURCES})
endif ()
add_executable (${name} ${sources})
target_compile_options (${name} PRIVATE -g) # do not skip asserts
target_include_directories (${name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/example_outputs/)
if (TARGET run_examples)
else ()
add_custom_target (run_examples)
endif ()
add_custom_command (TARGET run_examples
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo ""
COMMAND ${CMAKE_COMMAND} -E echo "***************************************"
COMMAND ${CMAKE_COMMAND} -E echo "***** running example: ${name}"
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${name}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/example_outputs)
endfunction (CORSIKA_ADD_EXAMPLE)
CORSIKA_ADD_TEST (helix_example)
CORSIKA_ADD_EXAMPLE (helix_example)
target_link_libraries (helix_example CORSIKAgeometry CORSIKAunits)
install (TARGETS helix_example DESTINATION share/examples)
CORSIKA_ADD_TEST (particle_list_example)
CORSIKA_ADD_EXAMPLE (particle_list_example)
target_link_libraries (particle_list_example CORSIKAparticles CORSIKAunits CORSIKAprocesses ProcessSibyll ProcessQGSJetII)
install (TARGETS particle_list_example DESTINATION share/examples)
CORSIKA_ADD_TEST (geometry_example)
CORSIKA_ADD_EXAMPLE (geometry_example)
target_link_libraries (geometry_example CORSIKAgeometry CORSIKAunits)
install (TARGETS geometry_example DESTINATION share/examples)
CORSIKA_ADD_TEST (logger_example)
CORSIKA_ADD_EXAMPLE (logger_example)
target_link_libraries (logger_example CORSIKAunits CORSIKAlogging)
install (TARGETS logger_example DESTINATION share/examples)
CORSIKA_ADD_TEST (stack_example)
CORSIKA_ADD_EXAMPLE (stack_example stack_example.cc)
target_link_libraries (stack_example SuperStupidStack CORSIKAunits
CORSIKAlogging)
# address sanitizer is making this example too slow, so we only do "undefined"
CORSIKA_ADD_TEST (cascade_example SANITIZE "undefined")
CORSIKA_ADD_EXAMPLE (cascade_example cascade_example.cc)
target_link_libraries (cascade_example
SuperStupidStack
CORSIKAunits
......@@ -41,7 +42,7 @@ target_link_libraries (cascade_example
)
install (TARGETS cascade_example DESTINATION share/examples)
CORSIKA_ADD_TEST (boundary_example)
CORSIKA_ADD_EXAMPLE (boundary_example boundary_example.cc)
target_link_libraries (boundary_example
SuperStupidStack
CORSIKAunits
......@@ -61,7 +62,7 @@ target_link_libraries (boundary_example
install (TARGETS boundary_example DESTINATION share/examples)
if (Pythia8_FOUND)
CORSIKA_ADD_TEST (cascade_proton_example)
CORSIKA_ADD_EXAMPLE (cascade_proton_example cascade_proton_example.cc)
target_link_libraries (cascade_proton_example
SuperStupidStack
CORSIKAunits
......@@ -86,7 +87,11 @@ if (Pythia8_FOUND)
)
install (TARGETS cascade_proton_example DESTINATION share/examples)
<<<<<<< Updated upstream
add_executable(vertical_EAS vertical_EAS.cc)
=======
CORSIKA_ADD_EXAMPLE (vertical_EAS vertical_EAS.cc)
>>>>>>> Stashed changes
target_link_libraries (vertical_EAS
SuperStupidStack
CORSIKAunits
......@@ -99,10 +104,17 @@ if (Pythia8_FOUND)
CORSIKAcascade
ProcessEnergyLoss
ProcessObservationPlane
<<<<<<< Updated upstream
ProcessTrackingLine
ProcessParticleCut
ProcessStackInspector
ProcessInteractionCounter
=======
ProcessTrackWriter
ProcessTrackingLine
ProcessParticleCut
ProcessStackInspector
>>>>>>> Stashed changes
CORSIKAprocesses
CORSIKAcascade
CORSIKAparticles
......@@ -111,10 +123,13 @@ if (Pythia8_FOUND)
CORSIKAprocesssequence
)
install (TARGETS vertical_EAS DESTINATION share/examples)
<<<<<<< Updated upstream
=======
>>>>>>> Stashed changes
endif()
CORSIKA_ADD_TEST(stopping_power)
CORSIKA_ADD_EXAMPLE (stopping_power stopping_power.cc)
target_link_libraries (stopping_power
SuperStupidStack
CORSIKAunits
......@@ -123,8 +138,13 @@ target_link_libraries (stopping_power
CORSIKAgeometry
CORSIKAenvironment
)
install (TARGETS stopping_power DESTINATION share/examples)
<<<<<<< Updated upstream
CORSIKA_ADD_TEST (staticsequence_example)
=======
CORSIKA_ADD_EXAMPLE (staticsequence_example staticsequence_example.cc)
>>>>>>> Stashed changes
target_link_libraries (staticsequence_example
CORSIKAprocesssequence
CORSIKAunits
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment