-
Notifications
You must be signed in to change notification settings - Fork 162
/
readout.sh
96 lines (91 loc) · 4.13 KB
/
readout.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package: Readout
version: "%(tag_basename)s"
tag: v1.4.0
requires:
- boost
- "GCC-Toolchain:(?!osx)"
- Common-O2
- libInfoLogger
- FairMQ
- FairLogger
- Monitoring
- Configuration
- ReadoutCard
- lz4
- Control-OCCPlugin
- ZeroMQ
build_requires:
- CMake
source: https://github.com/AliceO2Group/Readout
incremental_recipe: |
make ${JOBS:+-j$JOBS} install
mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles
---
#!/bin/bash -ex
case $ARCHITECTURE in
osx*)
[[ ! $BOOST_ROOT ]] && BOOST_ROOT=$(brew --prefix boost)
[[ ! $OPENSSL_ROOT ]] && OPENSSL_ROOT_DIR=$(brew --prefix openssl)
[[ ! $LZ4_ROOT ]] && LZ4_ROOT=$(brew --prefix lz4)
[[ ! $ZEROMQ_ROOT ]] && ZEROMQ_ROOT=$(brew --prefix zeromq)
;;
esac
# Enforce no warning code in the PR checker
if [[ $ALIBUILD_O2_TESTS ]]; then
# there seems to be a bug in CMake in macOS with -Werror which adds unwanted
# includes that lead to failing builds. skip it for now.
# https://alice.its.cern.ch/jira/browse/O2-1074
case $ARCHITECTURE in
osx*) ;;
*) CXXFLAGS="${CXXFLAGS} -Werror -Wno-error=deprecated-declarations" ;;
esac
fi
cmake $SOURCEDIR \
-DCMAKE_INSTALL_PREFIX=$INSTALLROOT \
${BOOST_REVISION:+-DBOOST_ROOT=$BOOST_ROOT} \
${OPENSSL_ROOT_DIR:+-DOPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR} \
${COMMON_O2_REVISION:+-DCommon_ROOT=$COMMON_O2_ROOT} \
${MONITORING_REVISION:+-DMonitoring_ROOT=$MONITORING_ROOT} \
${CONFIGURATION_REVISION:+-DConfiguration_ROOT=$CONFIGURATION_ROOT} \
${READOUTCARD_REVISION:+-DReadoutCard_ROOT=$READOUTCARD_ROOT} \
${LIBINFOLOGGER_REVISION:+-DInfoLogger_ROOT=$LIBINFOLOGGER_ROOT} \
${FAIRMQ_REVISION:+-DFairMQ_DIR=$FAIRMQ_ROOT} \
${FAIRLOGGER_REVISION:+-DFairLogger_DIR=$FAIRLOGGER_ROOT} \
${PYTHON_REVISION:+-DPython3_ROOT_DIR="$PYTHON_ROOT"} \
${LZ4_ROOT:+-DLZ4_DIR=$LZ4_ROOT} \
${CONTROL_OCCPLUGIN_REVISION:+-DOcc_ROOT=$CONTROL_OCCPLUGIN_ROOT} \
${ZEROMQ_REVISION:+-DZMQ_ROOT=$ZEROMQ_ROOT} \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DBUILD_SHARED_LIBS=ON
make ${JOBS+-j $JOBS} install
#ModuleFile
mkdir -p etc/modulefiles
cat > etc/modulefiles/$PKGNAME <<EoF
#%Module1.0
proc ModulesHelp { } {
global version
puts stderr "ALICE Modulefile for $PKGNAME $PKGVERSION-@@PKGREVISION@$PKGHASH@@"
}
set version $PKGVERSION-@@PKGREVISION@$PKGHASH@@
module-whatis "ALICE Modulefile for $PKGNAME $PKGVERSION-@@PKGREVISION@$PKGHASH@@"
# Dependencies
module load BASE/1.0 \\
${BOOST_REVISION:+boost/$BOOST_VERSION-$BOOST_REVISION} \\
${GCC_TOOLCHAIN_REVISION:+GCC-Toolchain/$GCC_TOOLCHAIN_VERSION-$GCC_TOOLCHAIN_REVISION} \\
Monitoring/$MONITORING_VERSION-$MONITORING_REVISION \\
Configuration/$CONFIGURATION_VERSION-$CONFIGURATION_REVISION \\
Common-O2/$COMMON_O2_VERSION-$COMMON_O2_REVISION \\
libInfoLogger/$LIBINFOLOGGER_VERSION-$LIBINFOLOGGER_REVISION \\
ReadoutCard/$READOUTCARD_VERSION-$READOUTCARD_REVISION \\
${LZ4_REVISION:+lz4/$LZ4_VERSION-$LZ4_REVISION} \\
FairLogger/$FAIRLOGGER_VERSION-$FAIRLOGGER_REVISION \\
FairMQ/$FAIRMQ_VERSION-$FAIRMQ_REVISION \\
ZeroMQ/$ZEROMQ_VERSION-$ZEROMQ_REVISION \\
Control-OCCPlugin/$CONTROL_OCCPLUGIN_VERSION-$CONTROL_OCCPLUGIN_REVISION
# Our environment
set READOUT_ROOT \$::env(BASEDIR)/$PKGNAME/\$version
setenv READOUT_ROOT \$READOUT_ROOT
prepend-path PATH \$READOUT_ROOT/bin
prepend-path LD_LIBRARY_PATH \$READOUT_ROOT/lib
EoF
mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles