stages: - build_debug - run_unit_tests - build_release - trigger cache: paths: - ${BUILD_DIR} before_script: - mkdir -p ${DEBUG_DIR} - mkdir -p ${RELEASE_SHARED_DIR} - mkdir -p ${RELEASE_STATIC_DIR} - export OMP_NUM_THREADS=${CPU_SIM} build_debug: stage: build_debug script: - cd ${DEBUG_DIR} - cmake ../.. -DCMAKE_CXX_FLAGS="-g -O1 -Wall -Wpedantic -pedantic-errors -Wextra --coverage" -DTADAH_ENABLE_OPENMP=ON -DTADAH_BUILD_TESTS=ON - make -j ${CPU_BUILD} run_unit_tests: stage: run_unit_tests script: - cd ${DEBUG_DIR} - make test - cd ..; gcovr -e '.*tests.*|.*lib.*|.*utils.*|build' -r . coverage: /^TOTAL.*\s+(\d+\%)$/ build_release_shared: stage: build_release script: - cd ${RELEASE_SHARED_DIR} - cmake ../.. -DCMAKE_BUILD_TYPE=Release -DTADAH_ENABLE_OPENMP=ON -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} - make -j ${CPU_BUILD} build_release_static: stage: build_release script: - cd ${RELEASE_STATIC_DIR} - cmake ../.. -DCMAKE_BUILD_TYPE=Release -DTADAH_ENABLE_OPENMP=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} - make -j ${CPU_BUILD} trigger_job: stage: trigger trigger: project: tadah/tadah.mlip