Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • le.koch/cbmroot
  • patrick.pfistner_AT_kit.edu/cbmroot
  • lena.rossel_AT_stud.uni-frankfurt.de/cbmroot
  • i.deppner/cbmroot
  • fweig/cbmroot
  • karpushkin_AT_inr.ru/cbmroot
  • v.akishina/cbmroot
  • rishat.sultanov_AT_cern.ch/cbmroot
  • l_fabe01_AT_uni-muenster.de/cbmroot
  • pwg-c2f/cbmroot
  • j.decuveland/cbmroot
  • a.toia/cbmroot
  • i.vassiliev/cbmroot
  • n.herrmann/cbmroot
  • o.lubynets/cbmroot
  • se.gorbunov/cbmroot
  • cornelius.riesen_AT_physik.uni-giessen.de/cbmroot
  • zhangqn17_AT_mails.tsinghua.edu.cn/cbmroot
  • bartosz.sobol/cbmroot
  • ajit.kumar/cbmroot
  • computing/cbmroot
  • a.agarwal_AT_vecc.gov.in/cbmroot
  • osingh/cbmroot
  • wielanek_AT_if.pw.edu.pl/cbmroot
  • malgorzata.karabowicz.stud_AT_pw.edu.pl/cbmroot
  • m.shiroya/cbmroot
  • s.roy/cbmroot
  • p.-a.loizeau/cbmroot
  • a.weber/cbmroot
  • ma.beyer/cbmroot
  • d.klein/cbmroot
  • d.smith/cbmroot
  • mvdsoft/cbmroot
  • d.spicker/cbmroot
  • y.h.leung/cbmroot
  • m.deveaux/cbmroot
  • mkunold/cbmroot
  • h.darwish/cbmroot
  • f_fido01_AT_uni-muenster.de/cbmroot
  • g.kozlov/cbmroot
  • d.emschermann/cbmroot
  • evgeny.lavrik/cbmroot
  • v.friese/cbmroot
  • f.uhlig/cbmroot
  • ebechtel_AT_ikf.uni-frankfurt.de/cbmroot
  • a.senger/cbmroot
  • praisig/cbmroot
  • s.lebedev/cbmroot
  • redelbach_AT_compeng.uni-frankfurt.de/cbmroot
  • p.subramani/cbmroot
  • a_meye37_AT_uni-muenster.de/cbmroot
  • om/cbmroot
  • o.golosov/cbmroot
  • l.chlad/cbmroot
  • a.bercuci/cbmroot
  • d.ramirez/cbmroot
  • v.singhal/cbmroot
  • h.schiller/cbmroot
  • apuntke/cbmroot
  • f.zorn/cbmroot
  • rubio_AT_physi.uni-heidelberg.de/cbmroot
  • p.chudoba/cbmroot
  • apuntke/mcbmroot
  • r.karabowicz/cbmroot
64 results
Show changes
Commits on Source (2534)
Showing with 1006 additions and 811 deletions
ARG TAG=12-fair202211.4-rocm5.4
ARG REGISTRY=hub.cbm.gsi.de/computing/images/online
FROM ${REGISTRY}/dev:${TAG} as build
ARG SOURCE_DIR=/opt/cbm/src
WORKDIR ${SOURCE_DIR}
# Kaniko doesn't support RUN --mount, so we have to copy the source code instead
COPY . .
RUN .ci/online/scripts/install.sh
FROM ${REGISTRY}/runtime:${TAG}
ARG CBMROOT_PATH=/opt/cbm/cbmroot
ARG FAIRSOFT_PATH=/opt/cbm/fairsoft
COPY --from=build ${CBMROOT_PATH}/bin ${CBMROOT_PATH}/bin
COPY --from=build ${CBMROOT_PATH}/lib/*.so ${CBMROOT_PATH}/lib/
# FIXME HACK FOR DC OCT 23
COPY --from=build ${FAIRSOFT_PATH}/lib/libGenVector.so ${FAIRSOFT_PATH}/lib/.
COPY --from=build ${FAIRSOFT_PATH}/lib/libGenVector.so.6.26 ${FAIRSOFT_PATH}/lib/.
COPY --from=build ${FAIRSOFT_PATH}/lib/libGenVector.so.6.26.10 ${FAIRSOFT_PATH}/lib/.
COPY --from=build ${FAIRSOFT_PATH}/lib/libCore.so ${FAIRSOFT_PATH}/lib/.
COPY --from=build ${FAIRSOFT_PATH}/lib/libCore.so.6.26 ${FAIRSOFT_PATH}/lib/.
COPY --from=build ${FAIRSOFT_PATH}/lib/libCore.so.6.26.10 ${FAIRSOFT_PATH}/lib/.
ENV LD_LIBRARY_PATH=${CBMROOT_PATH}/lib:${FAIRSOFT_PATH}/lib:/opt/rocm/lib:${LD_LIBRARY_PATH}
ENV PATH=${CBMROOT_PATH}/bin:${PATH}
CMD ["cbmreco"]
FROM gcr.io/kaniko-project/executor:v1.16.0-debug
ARG USERNAME="username"
ARG PASSWORD="your_password"
ARG REGISTRY="hub.cbm.gsi.de"
ARG IMAGE="${REGISTRY}/computing/cbmroot/cbm_online"
ARG TAG="${USER}-debug"
RUN mkdir -p /kaniko/.docker
RUN echo "{\"auths\":{\"${REGISTRY}\":{\"username\":\"${USERNAME}\",\"password\":\"${PASSWORD}\"}}}" > /kaniko/.docker/config.json
# TODO: Mount CbmRoot source instead of copying it into the container (-> same with authentification...)
COPY . /workspace
ENV IMAGE=${IMAGE}
ENV TAG=${TAG}
ENTRYPOINT ["/bin/sh" , "-xc", "/kaniko/executor --context dir:///workspace --dockerfile /workspace/algo/containers/cbm_online/Dockerfile --destination $IMAGE:$TAG"]
#!/bin/bash
set -e
user="$1"
password="$2"
script=$(readlink -f "$0")
function check_arg() {
if [ -z "$1" ]; then
echo "Error: No $2 specified."
echo "Usage: $script <user> <password>"
exit 1
fi
}
check_arg "$user" "user"
check_arg "$password" "password"
# Set tag as optional third argument
if [ -z "$3" ]; then
tag="$user-debug"
else
tag="$3"
fi
# This script must be run from the CbmRoot top level directory.
# Check for .git, .clang-format, and .gitlab-ci.yml
if [ ! -d .git ] || [ ! -f .clang-format ] || [ ! -f .gitlab-ci.yml ]; then
echo "Error: This script must be run from the CbmRoot top level directory."
exit 1
fi
registry="hub.cbm.gsi.de/computing/cbmroot"
image="cbm_online"
build_args=" \
--build-arg="USERNAME=$user" \
--build-arg="PASSWORD=$password" \
--build-arg="TAG=$tag" \
"
dockerfile="algo/containers/cbm_online/DockerfileBuild"
docker build --progress plain $build_args -f $dockerfile -t cbm_online_builder .
#!/bin/bash
set -e
srcdir=cbmroot
build_type=RelWithDebInfo
install_prefix=/opt/cbm/cbmroot
fairsoft_path=/opt/cbm/fairsoft
enable_hip=ON
rocm_root=/opt/rocm
hip_archs="gfx906;gfx908" # MI50;MI100
n_jobs=16
cmake_args="-DCMAKE_INSTALL_PREFIX=$install_prefix \
-DCMAKE_BUILD_TYPE=$build_type \
-DSIMPATH=$fairsoft_path \
-DXPU_ENABLE_HIP=$enable_hip \
-DXPU_ROCM_ROOT=$rocm_root \
-DXPU_HIP_ARCH=$hip_archs \
"
ln -s ../cmake algo/cmake
cmake -S algo -B build $cmake_args
cmake --build build -j$n_jobs --target install
#! /bin/bash
set -e
IMAGE=hub.cbm.gsi.de/fweig/containers/cbm_online:online-container
DOCKER_FLAGS=" \
--rm \
-it \
--mount type=bind,source=$HOME/cbm/params,target=/opt/cbm/params \
--mount type=bind,source=/home/cbmdata/mcbm22/2391,target=/opt/cbm/data \
"
CMD="cbmreco"
CMD_FLAGS=" \
-p /opt/cbm/params \
-i /opt/cbm/data/2391_node8_1_0000.tsa \
-n 1 \
--omp 1 \
"
docker run $DOCKER_FLAGS $IMAGE $CMD $CMD_FLAGS
# docker run $DOCKER_FLAGS $IMAGE ls -l /opt/cbm/data
#! /bin/bash
set -e
IMAGE=hub.cbm.gsi.de/fweig/containers/cbm_online:online-container
DOCKER_FLAGS=" \
--rm \
-it \
--mount type=bind,source=$HOME/cbm/params,target=/opt/cbm/params \
--mount type=bind,source=/home/cbmdata/mcbm22/2391,target=/opt/cbm/data \
--device=/dev/kfd \
--device=/dev/dri \
--security-opt seccomp=unconfined \
--group-add video
"
CMD="cbmreco"
CMD_FLAGS=" \
-p /opt/cbm/params \
-i /opt/cbm/data/2391_node8_1_0000.tsa \
-n 1 \
--omp 1\
-l info \
-d hip1 \
"
# CMD=xpuinfo
# CMD_FLAGS=
docker run $DOCKER_FLAGS $IMAGE $CMD $CMD_FLAGS
# docker run $DOCKER_FLAGS $IMAGE ls -l /opt/cbm/data
--- ---
AccessModifierOffset: -2 AccessModifierOffset: -1
AlignAfterOpenBracket: Align AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: true AlignConsecutiveAssignments: true
...@@ -14,11 +14,11 @@ AllowAllArgumentsOnNextLine: false ...@@ -14,11 +14,11 @@ AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Always AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: true AllowShortCaseLabelsOnASingleLine: true
AllowShortEnumsOnASingleLine: false AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Always AllowShortIfStatementsOnASingleLine: WithoutElse
AllowShortLambdasOnASingleLine: All AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false AllowShortLoopsOnASingleLine: false
...@@ -80,18 +80,26 @@ IncludeCategories: ...@@ -80,18 +80,26 @@ IncludeCategories:
Priority: 1 Priority: 1
- Regex: '^("|<).*/Cbm' - Regex: '^("|<).*/Cbm'
Priority: 1 Priority: 1
- Regex: '".*"'
Priority: 1
- Regex: '^("|<).*slice' - Regex: '^("|<).*slice'
Priority: 2 Priority: 2
- Regex: '^("|<)Monitor.hpp'
Priority: 2
- Regex: '^("|<)System.hpp'
Priority: 2
- Regex: '^("|<)Fair' - Regex: '^("|<)Fair'
Priority: 3 Priority: 3
- Regex: '^("|<)Logger.h' - Regex: '^("|<)Logger.h'
Priority: 3 Priority: 3
- Regex: '^("|<)T' - Regex: '^("|<)T.*\.h'
Priority: 4 Priority: 4
- Regex: '^("|<)Rt' - Regex: '^("|<)Rt.*\.h'
Priority: 4 Priority: 4
- Regex: '^("|<)boost' - Regex: '^("|<)boost'
Priority: 5 Priority: 5
- Regex: '^<.*[^\.]h>'
Priority: 6
- Regex: '^<.*[^\.h]>' - Regex: '^<.*[^\.h]>'
Priority: 6 Priority: 6
- Regex: '^<.*>' - Regex: '^<.*>'
...@@ -126,7 +134,7 @@ SpaceAfterCStyleCast: true ...@@ -126,7 +134,7 @@ SpaceAfterCStyleCast: true
#SpaceAfterLogicalNot: true #SpaceAfterLogicalNot: true
SpaceAfterTemplateKeyword: false SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: true SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements SpaceBeforeParens: ControlStatements
...@@ -142,6 +150,9 @@ SpacesInContainerLiterals: false ...@@ -142,6 +150,9 @@ SpacesInContainerLiterals: false
SpacesInParentheses: false SpacesInParentheses: false
SpacesInSquareBrackets: false SpacesInSquareBrackets: false
WhitespaceSensitiveMacros: ['CBM_ENUM_DICT', 'CBM_YAML_PROPERTIES']
StatementMacros: ['CBM_PARALLEL_FOR']
Standard: c++11 Standard: c++11
TabWidth: 8 TabWidth: 8
......
Checks: '-*,modernize-deprecated-headers'
WarningsAsErrors: ''
HeaderFilterRegex: '.*'
AnalyzeTemporaryDtors: false
FormatStyle: file
CheckOptions:
- key: modernize-deprecated-headers.CheckHeaderFile
value: 'true'
...
.git
.vscode
/geometry
/input
/parameters
/build
/algo/external
# exclude top level directories # exclude top level directories
# which are taken from other git repositories # which are taken from other git repositories
# The / at the beginning is important, otherwise all directories # The / at the beginning is important, otherwise all directories
# containing the string are ignored # containing the string are ignored
/geometry /geometry
/input /input
/parameters /parameters
/qa_data
/build /build
/algo/external
# Comment some single files # Comment some single files
Dart*.cfg Dart*.cfg
# gdb Crash dumps
**/core_dump_*
# Git rebase backoup files
**/*.orig
# IDEs
.vscode
This diff is collapsed.
This diff is collapsed.
...@@ -10,42 +10,45 @@ ...@@ -10,42 +10,45 @@
/fles/ @f.uhlig @p.-a.loizeau /fles/ @f.uhlig @p.-a.loizeau
/macro/ @f.uhlig @p.-a.loizeau /macro/ @f.uhlig @p.-a.loizeau
/macro/C2F/ @i.selyuzhenkov /macro/C2F/ @a.andronic @k.piasecki
/macro/analysis/ @i.selyuzhenkov /macro/analysis/ @a.andronic @k.piasecki
/macro/KF/ @se.gorbunov @v.akishina /macro/KF/ @se.gorbunov
# Core # Core
/core/ @f.uhlig @v.friese @p.-a.loizeau /core/ @f.uhlig @v.friese @p.-a.loizeau
/core/qa/ @se.gorbunov /core/qa/ @se.gorbunov @s.zharko
/core/data/test/ @f.uhlig /core/data/test/ @f.uhlig
/core/data/raw/ @p.-a.loizeau /core/data/raw/ @p.-a.loizeau
/core/base/utils/ @f.uhlig @s.lebedev /core/base/utils/ @f.uhlig
/core/base/report/ @s.lebedev /core/base/report/ @f.uhlig
/core/base/draw/ @s.lebedev /core/base/draw/ @f.uhlig
# Algo
/algo/ @d.smith @fweig
# Simulation # Simulation
/sim/ @f.uhlig @v.friese @p.-a.loizeau /sim/ @f.uhlig @v.friese @p.-a.loizeau
/sim/transport/geosetup/ @e.lavrik #/sim/transport/geosetup/ @e.lavrik
# Reco # Reco
/reco/ @f.uhlig @v.friese @p.-a.loizeau /reco/ @f.uhlig @v.friese @p.-a.loizeau
/reco/littrack/ @s.lebedev @andrey.lebedev /reco/littrack/ @se.gorbunov
/reco/L1/ @se.gorbunov @v.akishina /reco/L1/ @se.gorbunov @s.zharko
/reco/eventbuilder/ @d.smith /reco/eventbuilder/ @d.smith
/reco/KF/ @se.gorbunov @v.akishina /reco/KF/ @se.gorbunov @s.zharko
# Analysis # Analysis
/analysis/ @i.selyuzhenkov /analysis/ @a.andronic @k.piasecki
/analysis/PWGC2F/femtoscopy/ @wielanek_AT_if.pw.edu.pl /analysis/PWGC2F/femtoscopy/ @wielanek_AT_if.pw.edu.pl
/analysis/common/ @i.selyuzhenkov /analysis/common/ @a.andronic @k.piasecki
/analysis/PWGHAD/ @i.selyuzhenkov /analysis/PWGHAD/ @a.andronic @k.piasecki
/analysis/PWGCHA/ @i.selyuzhenkov /analysis/PWGCHA/ @a.andronic @k.piasecki
/analysis/PWGDIL/ @i.selyuzhenkov /analysis/PWGDIL/ @a.andronic @k.piasecki
/analysis/PWGDIL/dielectron/pi0eta/ @c.pauly /analysis/PWGDIL/dielectron/pi0eta/ @c.pauly
/analysis/PWGDIL/dielectron/papaframework/ @a_meye37_AT_uni-muenster.de /analysis/PWGDIL/dielectron/papaframework/ @a_meye37_AT_uni-muenster.de
/analysis/PWGDIL/dielectron/lmvm/ @i.selyuzhenkov /analysis/PWGDIL/dielectron/lmvm/ @a.andronic @k.piasecki
/analysis/PWGDIL/dielectron/conversion/ @c.pauly /analysis/PWGDIL/dielectron/conversion/ @c.pauly
/analysis/PWGDIL/dimuon/ @i.selyuzhenkov /analysis/PWGDIL/dimuon/ @a.andronic @k.piasecki
## Detectors ## Detectors
...@@ -56,15 +59,23 @@ ...@@ -56,15 +59,23 @@
/macro/trd/ @a.bercuci @p.kaehler /macro/trd/ @a.bercuci @p.kaehler
/sim/detectors/trd/ @a.bercuci @p.kaehler /sim/detectors/trd/ @a.bercuci @p.kaehler
/reco/detectors/trd/ @a.bercuci @p.kaehler /reco/detectors/trd/ @a.bercuci @p.kaehler
/algo/detectors/trd/ @a.bercuci @p.kaehler
# PSD # PSD
/analysis/detectors/psd/ @karpushkin_AT_inr.ru /analysis/detectors/psd/ @v.friese
/core/data/psd/ @karpushkin_AT_inr.ru /core/data/psd/ @v.friese
/core/data/test/psd/ @karpushkin_AT_inr.ru /core/data/test/psd/ @v.friese
/core/detectors/psd/ @karpushkin_AT_inr.ru /core/detectors/psd/ @v.friese
/macro/psd/ @karpushkin_AT_inr.ru /macro/psd/ @v.friese
/sim/detectors/psd/ @karpushkin_AT_inr.ru /sim/detectors/psd/ @v.friese
/reco/detectors/psd/ @karpushkin_AT_inr.ru /reco/detectors/psd/ @v.friese
# FSD
/analysis/detectors/fsd/ @dvorar10_AT_fjfi.cvut.cz
/core/data/fsd/ @dvorar10_AT_fjfi.cvut.cz
/core/detectors/fsd/ @dvorar10_AT_fjfi.cvut.cz
/sim/detectors/fsd/ @dvorar10_AT_fjfi.cvut.cz
/reco/detectors/fsd/ @dvorar10_AT_fjfi.cvut.cz
# MUCH # MUCH
/core/data/much/ @v.singhal /core/data/much/ @v.singhal
...@@ -73,6 +84,8 @@ ...@@ -73,6 +84,8 @@
/macro/much/ @v.singhal /macro/much/ @v.singhal
/sim/detectors/much/ @v.singhal /sim/detectors/much/ @v.singhal
/reco/detectors/much/ @v.singhal /reco/detectors/much/ @v.singhal
/algo/detectors/much/ @v.singhal
/macro/analysis/much/ @v.singhal
# TOF # TOF
/analysis/detectors/tof/ @n.herrmann @i.deppner /analysis/detectors/tof/ @n.herrmann @i.deppner
...@@ -85,14 +98,16 @@ ...@@ -85,14 +98,16 @@
/reco/detectors/tof/ @n.herrmann @i.deppner /reco/detectors/tof/ @n.herrmann @i.deppner
/MQ/eTOF/ @n.herrmann @i.deppner /MQ/eTOF/ @n.herrmann @i.deppner
/MQ/hitbuilder/ @n.herrmann @i.deppner /MQ/hitbuilder/ @n.herrmann @i.deppner
/algo/detectors/tof/ @n.herrmann @i.deppner
# RICH # RICH
/core/data/rich/ @s.lebedev /core/data/rich/ @ma.beyer
/core/data/test/rich/ @s.lebedev /core/data/test/rich/ @ma.beyer
/core/detectors/rich/ @s.lebedev /core/detectors/rich/ @ma.beyer
/macro/rich/ @s.lebedev /macro/rich/ @ma.beyer
/sim/detectors/rich/ @s.lebedev /sim/detectors/rich/ @ma.beyer
/reco/detectors/rich/ @s.lebedev /reco/detectors/rich/ @ma.beyer
/algo/detectors/rich/ @ma.beyer
# STS # STS
/analysis/detectors/sts/ @v.friese /analysis/detectors/sts/ @v.friese
...@@ -103,8 +118,13 @@ ...@@ -103,8 +118,13 @@
/sim/detectors/sts/ @v.friese /sim/detectors/sts/ @v.friese
/reco/detectors/sts/ @v.friese /reco/detectors/sts/ @v.friese
/MQ/sts/ @v.friese /MQ/sts/ @v.friese
/algo/detectors/sts/ @v.friese
/algo/data/sts/ @v.friese
# MVD # MVD
/core/data/mvd/ @c.muentz @m.deveaux /reco/detectors/mvd/ @c.muentz @m.deveaux @j.stroth
/macro/mvd/ @c.muentz @m.deveaux /core/detectors/mvd/ @c.muentz @m.deveaux @j.stroth
/mvd/ @c.muentz @m.deveaux /core/data/mvd/ @c.muentz @m.deveaux @j.stroth
/analysis/detectors/mvd/ @c.muentz @m.deveaux @j.stroth
/macro/mvd/ @c.muentz @m.deveaux @j.stroth
/sim/detectors/mvd/ @c.muentz @m.deveaux @j.stroth
...@@ -3,8 +3,13 @@ ...@@ -3,8 +3,13 @@
message(" -- Read CTestCustom.cmake --") message(" -- Read CTestCustom.cmake --")
# Maximum size of uploaded test output of failed tests is 100kB # Maximum size of uploaded test output of failed tests is 100kB
# or 10MB in case of weekly tests
# Larger output is cutted # Larger output is cutted
set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE "102400") if(${CBM_TEST_MODEL} MATCHES Weekly)
set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE "10240000")
else()
set(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE "102400")
endif()
# Maximum size of uploaded test output of passed tests is 1kB # Maximum size of uploaded test output of passed tests is 1kB
# Larger output is cutted # Larger output is cutted
...@@ -75,7 +80,8 @@ set(CTEST_CUSTOM_WARNING_EXCEPTION ...@@ -75,7 +80,8 @@ set(CTEST_CUSTOM_WARNING_EXCEPTION
# -- warnings from macosx test machines # -- warnings from macosx test machines
"ld: warning: dylib.*was built for newer macOS version.*than being linked" "ld: warning: dylib.*was built for newer macOS version.*than being linked"
".*^.*" ".*\\^.*"
"warning.*generated."
# -- don't show pragma message warnings # -- don't show pragma message warnings
"Compiling CBM Configuration" "Compiling CBM Configuration"
......
# Check if cmake has the required version
# Since flesnet requires 3.14.0 we should be consistent while we
# build it in the CbmRoot context
cmake_minimum_required(VERSION 3.14.0 FATAL_ERROR)
cmake_policy(VERSION 3.14...3.23)
Set(CTEST_SOURCE_DIRECTORY $ENV{SOURCEDIR}) Set(CTEST_SOURCE_DIRECTORY $ENV{SOURCEDIR})
Set(CTEST_BINARY_DIRECTORY $ENV{BUILDDIR}) Set(CTEST_BINARY_DIRECTORY $ENV{BUILDDIR})
Set(CTEST_SITE $ENV{SITE}) Set(CTEST_SITE $ENV{SITE})
...@@ -5,6 +11,7 @@ Set(CTEST_BUILD_NAME $ENV{LABEL}) ...@@ -5,6 +11,7 @@ Set(CTEST_BUILD_NAME $ENV{LABEL})
Set(CTEST_CMAKE_GENERATOR "Unix Makefiles") Set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
Set(CTEST_PROJECT_NAME "CBMROOT") Set(CTEST_PROJECT_NAME "CBMROOT")
Set(EXTRA_FLAGS $ENV{EXTRA_FLAGS}) Set(EXTRA_FLAGS $ENV{EXTRA_FLAGS})
Set(INSTALL_PROJECT $ENV{INSTALL_PROJECT})
if(NOT CBM_TEST_MODEL) if(NOT CBM_TEST_MODEL)
set(CBM_TEST_MODEL NIGHTLY) set(CBM_TEST_MODEL NIGHTLY)
...@@ -21,16 +28,15 @@ Set(CTEST_BUILD_COMMAND "${BUILD_COMMAND} -i -k -j$ENV{number_of_processors}") ...@@ -21,16 +28,15 @@ Set(CTEST_BUILD_COMMAND "${BUILD_COMMAND} -i -k -j$ENV{number_of_processors}")
# Extract the FairRoot version from fairroot-config # Extract the FairRoot version from fairroot-config
# The version info is of the form Major.Minor.Patch e.g. 15.11.1 and # The version info is of the form Major.Minor.Patch e.g. 15.11.1 and
# is stored in the variable FairRoot_VERSION # is stored in the variable FairRoot_VERSION
Set(CMAKE_MODULE_PATH "${CTEST_SOURCE_DIRECTORY}/cmake/modules" ${CMAKE_MODULE_PATH}) #Set(CMAKE_MODULE_PATH "${CTEST_SOURCE_DIRECTORY}/cmake/modules" ${CMAKE_MODULE_PATH})
Include(CbmMacros) #set(FAIRROOTPATH $ENV{FAIRROOTPATH})
FairRootVersion() #Include(CbmMacros)
#FairRootVersion()
If(${FairRoot_VERSION} VERSION_LESS 16.0.0) message("Compiling with $ENV{number_of_processors} jobs in parallel.")
Set(CTEST_USE_LAUNCHERS 0) message("Testing with $ENV{number_of_processors_for_test} jobs in parallel.")
Else()
Set(CTEST_USE_LAUNCHERS 1)
EndIf()
Set(CTEST_USE_LAUNCHERS 1)
If(${CBM_TEST_MODEL} MATCHES MergeRequest OR ${CBM_TEST_MODEL} MATCHES Continuous) If(${CBM_TEST_MODEL} MATCHES MergeRequest OR ${CBM_TEST_MODEL} MATCHES Continuous)
Set(_BuildType NIGHTLY) Set(_BuildType NIGHTLY)
...@@ -43,14 +49,16 @@ Else() ...@@ -43,14 +49,16 @@ Else()
set(_CMakeModel ${CBM_TEST_MODEL}) set(_CMakeModel ${CBM_TEST_MODEL})
EndIf() EndIf()
If(EXTRA_FLAGS) If(EXTRA_FLAGS AND INSTALL_PROJECT)
Set(CTEST_CONFIGURE_COMMAND " \"${CMAKE_EXECUTABLE_NAME}\" \"-G${CTEST_CMAKE_GENERATOR}\" \"-DCBM_TEST_MODEL=${CBM_TEST_MODEL}\" \"-DCMAKE_BUILD_TYPE=${_BuildType}\" \"-DCTEST_USE_LAUNCHERS=${CTEST_USE_LAUNCHERS}\" \"${EXTRA_FLAGS}\" \"-DCMAKE_INSTALL_PREFIX=${CTEST_SOURCE_DIRECTORY}/install\" \"${CTEST_SOURCE_DIRECTORY}\" ")
ElseIf(EXTRA_FLAGS)
Set(CTEST_CONFIGURE_COMMAND " \"${CMAKE_EXECUTABLE_NAME}\" \"-G${CTEST_CMAKE_GENERATOR}\" \"-DCBM_TEST_MODEL=${CBM_TEST_MODEL}\" \"-DCMAKE_BUILD_TYPE=${_BuildType}\" \"-DCTEST_USE_LAUNCHERS=${CTEST_USE_LAUNCHERS}\" \"${EXTRA_FLAGS}\" \"${CTEST_SOURCE_DIRECTORY}\" ") Set(CTEST_CONFIGURE_COMMAND " \"${CMAKE_EXECUTABLE_NAME}\" \"-G${CTEST_CMAKE_GENERATOR}\" \"-DCBM_TEST_MODEL=${CBM_TEST_MODEL}\" \"-DCMAKE_BUILD_TYPE=${_BuildType}\" \"-DCTEST_USE_LAUNCHERS=${CTEST_USE_LAUNCHERS}\" \"${EXTRA_FLAGS}\" \"${CTEST_SOURCE_DIRECTORY}\" ")
Else() Else()
Set(CTEST_CONFIGURE_COMMAND " \"${CMAKE_EXECUTABLE_NAME}\" \"-G${CTEST_CMAKE_GENERATOR}\" \"-DCBM_TEST_MODEL=${CBM_TEST_MODEL}\" \"-DCMAKE_BUILD_TYPE=${_BuildType}\" \"-DCTEST_USE_LAUNCHERS=${CTEST_USE_LAUNCHERS}\" \"${CTEST_SOURCE_DIRECTORY}\" ") Set(CTEST_CONFIGURE_COMMAND " \"${CMAKE_EXECUTABLE_NAME}\" \"-G${CTEST_CMAKE_GENERATOR}\" \"-DCBM_TEST_MODEL=${CBM_TEST_MODEL}\" \"-DCMAKE_BUILD_TYPE=${_BuildType}\" \"-DCTEST_USE_LAUNCHERS=${CTEST_USE_LAUNCHERS}\" \"${CTEST_SOURCE_DIRECTORY}\" ")
EndIf() EndIf()
#If(${CBM_TEST_MODEL} MATCHES Nightly OR ${CBM_TEST_MODEL} MATCHES Weekly OR ${CBM_TEST_MODEL} MATCHES Profile) #If(${CBM_TEST_MODEL} MATCHES Nightly OR ${CBM_TEST_MODEL} MATCHES Weekly OR ${CBM_TEST_MODEL} MATCHES Profile)
If(NOT ${_BuildType} MATCHES Experimental) If(NOT ${_BuildType} MATCHES EXPERIMENTAL)
Find_Program(GCOV_COMMAND gcov) Find_Program(GCOV_COMMAND gcov)
If(GCOV_COMMAND) If(GCOV_COMMAND)
...@@ -65,14 +73,23 @@ EndIf() ...@@ -65,14 +73,23 @@ EndIf()
Ctest_Start(${_CMakeModel}) Ctest_Start(${_CMakeModel})
unset(repeat) unset(repeat)
If(${CBM_TEST_MODEL} MATCHES MergeRequest OR ${CBM_TEST_MODEL} MATCHES Continuous) if(${_CMakeModel} MATCHES Continuous)
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.17) if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.17)
set(repeat REPEAT UNTIL_PASS:2) set(repeat REPEAT UNTIL_PASS:2)
endif() endif()
EndIf() EndIf()
# The stop time should be a date compatible string without day nor timezone
# Examples:
# => CTEST_END_TIME_LIMIT=`date -d "${END_TIME}CET -5minutes" +"%H:%M:%S"`
# => CTEST_END_TIME_LIMIT=`date -d "now +25minutes" +"%H:%M:%S"`
unset(stop_time)
If(DEFINED ENV{CTEST_END_TIME_LIMIT})
set(stop_time STOP_TIME "$ENV{CTEST_END_TIME_LIMIT}")
message(STATUS " End time for the ctest test runs set to ${stop_time}")
EndIf()
If(NOT ${_BuildType} MATCHES Experimental) If(NOT ${_BuildType} MATCHES EXPERIMENTAL)
Ctest_Update(SOURCE "${CTEST_SOURCE_DIRECTORY}") Ctest_Update(SOURCE "${CTEST_SOURCE_DIRECTORY}")
EndIf() EndIf()
...@@ -81,110 +98,125 @@ Ctest_Configure(BUILD "${CTEST_BINARY_DIRECTORY}" ...@@ -81,110 +98,125 @@ Ctest_Configure(BUILD "${CTEST_BINARY_DIRECTORY}"
) )
If(NOT _RETVAL) If(NOT _RETVAL)
Ctest_Build(BUILD "${CTEST_BINARY_DIRECTORY}") Ctest_Build(BUILD "${CTEST_BINARY_DIRECTORY}"
NUMBER_ERRORS _NUM_ERROR
)
If(${_CMakeModel} MATCHES Continuous) If(${_CMakeModel} MATCHES Continuous)
If(${CMAKE_VERSION} VERSION_LESS 3.14.0) CTest_Submit(PARTS Update Configure Build
CTest_Submit(PARTS Update Configure Build) BUILD_ID cdash_build_id
)
if(${_NUM_ERROR} GREATER 0)
message(STATUS " ")
message(STATUS " You can find the produced results on the CDash server")
message(STATUS " ")
message(STATUS " CDash Build Summary ..: "
"${CTEST_DROP_METHOD}://${CTEST_DROP_SITE}/buildSummary.php?buildid=${cdash_build_id}"
)
message(STATUS " CDash Test List ......: "
"${CTEST_DROP_METHOD}://${CTEST_DROP_SITE}/viewTest.php?buildid=${cdash_build_id}"
)
message(STATUS " ")
Message(STATUS "Build finished with ${_NUM_ERROR} errors")
message(FATAL_ERROR "Compilation failure")
endif()
EndIf()
If(DEFINED ENV{CI_TEST_STAGE_TOTAL_TIME_LIMIT})
# Compute test stage timeout based on current time + limit from environment variable
If(DEFINED ENV{CTEST_END_TIME_LIMIT})
# If also full DASH run timeout defined, also compare the two and keep the earliest one
execute_process (
COMMAND scripts/find_citests_ctest_stop_time.sh $ENV{CTEST_END_TIME_LIMIT}
OUTPUT_VARIABLE CI_TESTS_TOTAL_END_TIME_DATE
)
Else() Else()
CTest_Submit(PARTS Update Configure Build # Else just get the CI jpb timeout
BUILD_ID cdash_build_id execute_process (
) COMMAND scripts/find_citests_ctest_stop_time.sh
OUTPUT_VARIABLE CI_TESTS_TOTAL_END_TIME_DATE
)
EndIf() EndIf()
set(stop_time STOP_TIME "${CI_TESTS_TOTAL_END_TIME_DATE}")
message(STATUS "Due to CI mode, Set end time for the ctest test runs to ${stop_time}")
EndIf() EndIf()
Ctest_Test(BUILD "${CTEST_BINARY_DIRECTORY}" Ctest_Test(BUILD "${CTEST_BINARY_DIRECTORY}"
PARALLEL_LEVEL $ENV{number_of_processors} PARALLEL_LEVEL $ENV{number_of_processors_for_test}
${repeat} ${repeat}
${stop_time}
RETURN_VALUE _ctest_test_ret_val RETURN_VALUE _ctest_test_ret_val
) )
If(${_CMakeModel} MATCHES Continuous) If(${_CMakeModel} MATCHES Continuous)
If(${CMAKE_VERSION} VERSION_LESS 3.14.0) CTest_Submit(PARTS Test
CTest_Submit(PARTS Test) BUILD_ID cdash_build_id
Else() )
CTest_Submit(PARTS Test
BUILD_ID cdash_build_id
)
EndIf()
EndIf() EndIf()
If(GCOV_COMMAND) If(GCOV_COMMAND)
Ctest_Coverage(BUILD "${CTEST_BINARY_DIRECTORY}") Ctest_Coverage(BUILD "${CTEST_BINARY_DIRECTORY}")
If(${_CMakeModel} MATCHES Continuous) If(${_CMakeModel} MATCHES Continuous)
If(${CMAKE_VERSION} VERSION_LESS 3.14.0) CTest_Submit(PARTS Coverage
CTest_Submit(PARTS Coverage) BUILD_ID cdash_build_id
Else() )
CTest_Submit(PARTS Coverage
BUILD_ID cdash_build_id
)
EndIf()
EndIf() EndIf()
EndIf() EndIf()
Ctest_Upload(FILES ${CTEST_NOTES_FILES}) Ctest_Upload(FILES ${CTEST_NOTES_FILES})
If(NOT ${_CMakeModel} MATCHES Continuous) If(NOT ${_CMakeModel} MATCHES Continuous)
If(${CMAKE_VERSION} VERSION_LESS 3.14.0) Ctest_Submit(BUILD_ID cdash_build_id)
Ctest_Submit()
Else()
Ctest_Submit(BUILD_ID cdash_build_id)
EndIf()
EndIf() EndIf()
If(EXTRA_FLAGS MATCHES "INSTALL_PREFIX" AND EXTRA_FLAGS MATCHES "CBM_TEST_INSTALL" AND NOT _ctest_test_ret_val) If(EXTRA_FLAGS MATCHES "CBM_TEST_INSTALL" AND NOT _ctest_test_ret_val)
# If(EXTRA_FLAGS MATCHES "INSTALL_PREFIX" AND EXTRA_FLAGS MATCHES "CBM_TEST_INSTALL" AND NOT _ctest_test_ret_val)
Message("Testing Installation") Message("Testing Installation")
execute_process(COMMAND ${BUILD_COMMAND} install -j$ENV{number_of_processors} WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY} execute_process(COMMAND ${BUILD_COMMAND} install -j$ENV{number_of_processors} WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}
RESULTS_VARIABLE _install_ret_value RESULTS_VARIABLE _install_ret_value
) )
if (NOT _install_ret_value) if (NOT _install_ret_value)
execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E rm -R MQ algo analysis core external fles mvd reco sim execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E rm -R build MQ algo analysis core external fles mvd reco sim
WORKING_DIRECTORY ${CTEST_SOURCE_DIRECTORY} WORKING_DIRECTORY ${CTEST_SOURCE_DIRECTORY}
) )
message("executing test suite in ${CTEST_BINARY_DIRECTORY}/install") message("executing test suite in ${CTEST_BINARY_DIRECTORY}/install")
execute_process(COMMAND ${CTEST_SOURCE_DIRECTORY}/cmake/scripts/execute_installation_test.sh ${CTEST_BINARY_DIRECTORY}/install execute_process(COMMAND ${CTEST_SOURCE_DIRECTORY}/cmake/scripts/execute_installation_test.sh ${CTEST_SOURCE_DIRECTORY}/install
RESULTS_VARIABLE _install_ret_value RESULTS_VARIABLE _install_ret_value
) )
endif() endif()
Else() Else()
# if installation isn't tested the return value should be 0 # if installation isn't tested the return value should be 0
set(_install_ret_value false) set(_install_ret_value false)
EndIf() EndIf()
Message("_ctest_test_ret_val: ${_ctest_test_ret_val}")
Message("_install_ret_value: ${_install_ret_value}")
# Pipeline should fail also in case of failed tests # Pipeline should fail also in case of failed tests
if (_ctest_test_ret_val OR _install_ret_value) if (_ctest_test_ret_val OR _install_ret_value)
If(${CMAKE_VERSION} VERSION_LESS 3.14.0) message(STATUS " ")
Else() message(STATUS " You can find the produced results on the CDash server")
message(STATUS " ") message(STATUS " ")
message(STATUS " You can find the produced results on the CDash server") message(STATUS " CDash Build Summary ..: "
message(STATUS " ") "${CTEST_DROP_METHOD}://${CTEST_DROP_SITE}/buildSummary.php?buildid=${cdash_build_id}"
message(STATUS " CDash Build Summary ..: " )
"${CTEST_DROP_METHOD}://${CTEST_DROP_SITE}/buildSummary.php?buildid=${cdash_build_id}" message(STATUS " CDash Test List ......: "
) "${CTEST_DROP_METHOD}://${CTEST_DROP_SITE}/viewTest.php?buildid=${cdash_build_id}"
message(STATUS " CDash Test List ......: " )
"${CTEST_DROP_METHOD}://${CTEST_DROP_SITE}/viewTest.php?buildid=${cdash_build_id}" message(STATUS " ")
)
message(STATUS " ")
EndIf()
Message(FATAL_ERROR "Some tests failed.") Message(FATAL_ERROR "Some tests failed.")
endif() endif()
Else() Else()
If(${CMAKE_VERSION} VERSION_LESS "3.14.0") CTest_Submit(BUILD_ID cdash_build_id)
Ctest_Submit()
Else()
CTest_Submit(BUILD_ID cdash_build_id)
EndIf()
EndIf() EndIf()
If(${CMAKE_VERSION} VERSION_LESS 3.14.0) message(STATUS " ")
Else() message(STATUS " You can find the produced results on the CDash server")
message(STATUS " ") message(STATUS " ")
message(STATUS " You can find the produced results on the CDash server") message(STATUS " CDash Build Summary ..: "
message(STATUS " ") "${CTEST_DROP_METHOD}://${CTEST_DROP_SITE}/buildSummary.php?buildid=${cdash_build_id}"
message(STATUS " CDash Build Summary ..: " )
"${CTEST_DROP_METHOD}://${CTEST_DROP_SITE}/buildSummary.php?buildid=${cdash_build_id}" message(STATUS " CDash Test List ......: "
) "${CTEST_DROP_METHOD}://${CTEST_DROP_SITE}/viewTest.php?buildid=${cdash_build_id}"
message(STATUS " CDash Test List ......: " )
"${CTEST_DROP_METHOD}://${CTEST_DROP_SITE}/viewTest.php?buildid=${cdash_build_id}" message(STATUS " ")
)
message(STATUS " ")
EndIf()
...@@ -119,15 +119,22 @@ then ...@@ -119,15 +119,22 @@ then
fi fi
fi fi
if [ -z $NCPU4TEST ]; then
export number_of_processors_for_test=$number_of_processors
else
export number_of_processors_for_test=$NCPU4TEST
fi
echo "************************" echo "************************"
date date
echo "LABEL: " $LABEL echo "LABEL: " $LABEL
echo "SITE: " $SITE echo "SITE: " $SITE
echo "Model: " ${ctest_model} echo "Model: " ${ctest_model}
echo "Nr. of processes: " $number_of_processors echo "Nr. of processes for build: " $number_of_processors
echo "Nr. of processes for test: " $number_of_processors_for_test
echo "************************" echo "************************"
cd $SOURCEDIR cd $SOURCEDIR
ctest -S $SOURCEDIR/CbmRoot_test.cmake -V --VV -DCBM_TEST_MODEL=${ctest_model} ctest -S $SOURCEDIR/CbmRoot_test.cmake -V -DCBM_TEST_MODEL=${ctest_model}
#ctest -S $SOURCEDIR/CbmRoot_test.cmake -V --VV #ctest -S $SOURCEDIR/CbmRoot_test.cmake -V --VV
If(FairSoft_VERSION VERSION_LESS 18.6.0) Set(FAIRMQ_LIBS FairMQStateMachine FairMQ)
Add_Definitions(-DHAVE_FAIRMQSTATEMACHINE)
EndIf() # RPATH information should be present for executables in the build as well
# as in the installation directory
# use, i.e. don't skip the full RPATH for the build tree
set(CMAKE_SKIP_BUILD_RPATH FALSE)
# when building, don't use the install RPATH already
# (but later on when installing)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
if(FairMQ_HAS_StateMachine)
Set(FAIRMQ_LIBS FairMQStateMachine FairMQ)
else()
Set(FAIRMQ_LIBS FairMQ)
EndIf()
add_subdirectory(base) add_subdirectory(base)
add_subdirectory(source) add_subdirectory(source)
...@@ -22,9 +31,5 @@ add_subdirectory(mcbm) ...@@ -22,9 +31,5 @@ add_subdirectory(mcbm)
#add_subdirectory(sts) #add_subdirectory(sts)
#add_subdirectory(test) #add_subdirectory(test)
# The following subdirectories contain files which do not compile with add_subdirectory(parmq)
# FairRoot v18 add_subdirectory(hitbuilder)
# Don't compile it for the time being
# TODO: Fix the compilation problems
add_subdirectory(parmq)
add_subdirectory(hitbuilder)
set(INCLUDE_DIRECTORIES set(INCLUDE_DIRECTORIES
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/MQ/base )
)
Set(SYSTEM_INCLUDE_DIRECTORIES
${SYSTEM_INCLUDE_DIRECTORIES}
${FAIRMQ_INCLUDE_DIR}
)
include_directories(${INCLUDE_DIRECTORIES})
include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
set(LINK_DIRECTORIES
${FAIRMQ_LIBRARY_DIR}
)
link_directories(${LINK_DIRECTORIES})
set(FAIR_LIBS
FairMQ
)
If(FAIRLOGGER_FOUND)
set(FAIR_LIBS
${FAIR_LIBS}
FairLogger
)
EndIf()
set(SRCS set(SRCS
CbmMQChannels.cxx CbmMQChannels.cxx
) )
set(LIBRARY_NAME CbmMQBase)
set(PUBLIC_DEPENDENCIES
FairMQ::FairMQ
)
Set(LIBRARY_NAME CbmMQBase) set(INTERFACE_DEPENDENCIES
Set(DEPENDENCIES ROOT::Net
${FAIR_LIBS} )
)
GENERATE_LIBRARY() generate_cbm_library()
...@@ -2,9 +2,6 @@ ...@@ -2,9 +2,6 @@
SPDX-License-Identifier: GPL-3.0-only SPDX-License-Identifier: GPL-3.0-only
Authors: Florian Uhlig [committer] */ Authors: Florian Uhlig [committer] */
//#ifdef HAVE_FAIRMQSTATEMACHINE
//#include "FairMQStateMachine.h"
//#endif
#include "FairMQDevice.h" #include "FairMQDevice.h"
namespace cbm namespace cbm
...@@ -28,27 +25,6 @@ namespace cbm ...@@ -28,27 +25,6 @@ namespace cbm
void ChangeState(FairMQDevice* device, cbm::mq::Transition transition) void ChangeState(FairMQDevice* device, cbm::mq::Transition transition)
{ {
#ifdef HAVE_FAIRMQSTATEMACHINE
if (transition == cbm::mq::Transition::ErrorFound) {
device->ChangeState(FairMQStateMachine::Event::ERROR_FOUND);
}
else if (transition == cbm::mq::Transition::End) {
device->ChangeState(FairMQStateMachine::Event::END);
}
else if (transition == cbm::mq::Transition::Ready) {
device->ChangeState(FairMQStateMachine::Event::internal_READY);
}
else if (transition == cbm::mq::Transition::DeviceReady) {
device->ChangeState(FairMQStateMachine::Event::internal_DEVICE_READY);
}
else if (transition == cbm::mq::Transition::Idle) {
device->ChangeState(FairMQStateMachine::Event::internal_IDLE);
}
else {
LOG(fatal) << "State Change not yet implemented";
device->ChangeState(FairMQStateMachine::Event::ERROR_FOUND);
}
#else
if (transition == cbm::mq::Transition::ErrorFound) { device->ChangeState(fair::mq::Transition::ErrorFound); } if (transition == cbm::mq::Transition::ErrorFound) { device->ChangeState(fair::mq::Transition::ErrorFound); }
else if (transition == cbm::mq::Transition::End) { else if (transition == cbm::mq::Transition::End) {
device->ChangeState(fair::mq::Transition::End); device->ChangeState(fair::mq::Transition::End);
...@@ -66,36 +42,21 @@ namespace cbm ...@@ -66,36 +42,21 @@ namespace cbm
LOG(fatal) << "State Change not yet implemented"; LOG(fatal) << "State Change not yet implemented";
device->ChangeState(fair::mq::Transition::ErrorFound); device->ChangeState(fair::mq::Transition::ErrorFound);
} }
#endif
} }
void LogState(FairMQDevice* device) void LogState(FairMQDevice* device)
{ {
#ifdef HAVE_FAIRMQSTATEMACHINE
// LOG(info) << "Current State: " << FairMQStateMachine::GetCurrentStateName();
LOG(info) << "Current State: " << device->GetCurrentStateName();
#else
LOG(info) << "Current State: " << device->GetCurrentStateName(); LOG(info) << "Current State: " << device->GetCurrentStateName();
#endif
} }
bool CheckCurrentState(FairMQDevice* device, cbm::mq::State state) bool CheckCurrentState(FairMQDevice* device, cbm::mq::State state)
{ {
#ifdef HAVE_FAIRMQSTATEMACHINE
if (state == cbm::mq::State::Running) { return device->CheckCurrentState(FairMQStateMachine::State::RUNNING); }
else {
LOG(fatal) << "State not yet implemented";
device->ChangeState(FairMQStateMachine::Event::ERROR_FOUND);
return 0;
}
#else
if (state == cbm::mq::State::Running) { return !(device->NewStatePending()); } if (state == cbm::mq::State::Running) { return !(device->NewStatePending()); }
else { else {
LOG(fatal) << "State not yet implemented"; LOG(fatal) << "State not yet implemented";
device->ChangeState(fair::mq::Transition::ErrorFound); device->ChangeState(fair::mq::Transition::ErrorFound);
return 0; return 0;
} }
#endif
} }
} // namespace mq } // namespace mq
} // namespace cbm } // namespace cbm
...@@ -26,7 +26,7 @@ Set(SYSTEM_INCLUDE_DIRECTORIES ...@@ -26,7 +26,7 @@ Set(SYSTEM_INCLUDE_DIRECTORIES
${FAIRMQ_INCLUDE_DIR} ${FAIRMQ_INCLUDE_DIR}
${FAIRMQ_INCLUDE_DIR}/options ${FAIRMQ_INCLUDE_DIR}/options
${IPC_INCLUDE_DIRECTORY} ${FLES_IPC_INCLUDE_DIRECTORY}
${CBMROOT_SOURCE_DIR}/external/cppzmq ${CBMROOT_SOURCE_DIR}/external/cppzmq
) )
...@@ -66,13 +66,18 @@ If(FAIRLOGGER_FOUND) ...@@ -66,13 +66,18 @@ If(FAIRLOGGER_FOUND)
) )
EndIf() EndIf()
set(EXE_NAME EventBuilderEtofStar2019) # Dependencies common to all executables
set(SRCS CbmDeviceEventBuilderEtofStar2019.cxx runEventBuilderEtofStar2019.cxx) set(DEPENDENCIES_ALL
set(DEPENDENCIES
${DEPENDENCIES} ${DEPENDENCIES}
${FAIR_LIBS} ${FAIR_LIBS}
${BOOST_LIBS} ${BOOST_LIBS}
fles_ipc )
set(EXE_NAME EventBuilderEtofStar2019)
set(SRCS CbmDeviceEventBuilderEtofStar2019.cxx runEventBuilderEtofStar2019.cxx)
set(DEPENDENCIES
${DEPENDENCIES_ALL}
external::fles_ipc
CbmFlibStar2019 CbmFlibStar2019
CbmFlibMcbm2018 CbmFlibMcbm2018
CbmBase CbmBase
...@@ -94,10 +99,8 @@ Set(NO_DICT_SRCS ...@@ -94,10 +99,8 @@ Set(NO_DICT_SRCS
# Mask warning from file provided by STAR # Mask warning from file provided by STAR
SET_SOURCE_FILES_PROPERTIES(${CBMROOT_SOURCE_DIR}/fles/star2017/unpacker/star_rhicf.c PROPERTIES COMPILE_FLAGS -Wno-pointer-sign) SET_SOURCE_FILES_PROPERTIES(${CBMROOT_SOURCE_DIR}/fles/star2017/unpacker/star_rhicf.c PROPERTIES COMPILE_FLAGS -Wno-pointer-sign)
set(DEPENDENCIES set(DEPENDENCIES
${DEPENDENCIES} ${DEPENDENCIES_ALL}
${FAIR_LIBS} external::fles_ipc
${BOOST_LIBS}
fles_ipc
CbmFlibStar2019 CbmFlibStar2019
CbmFlibMcbm2018 CbmFlibMcbm2018
CbmBase CbmBase
......