- Notifications
You must be signed in to change notification settings - Fork147
Fixing BOOST CMSIT and CMSPHASE2#206
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
name:macos_clang | |
# CERN ROOT requires minimum cxx_standard: 17 --> cxx_standard: 14 only tested for core library | |
# CERN ROOT has to be compiled in a compatible version with regard to gcc/clang and cxx_standard | |
# For Qt the compiler and cxx_standard do not matter that much | |
on: | |
push: | |
branches:[ "master" ] | |
pull_request: | |
branches:[ "master" ] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE:Release | |
jobs: | |
build: | |
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. | |
# You can convert this to a matrix build if you need cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on:${{ matrix.os }} | |
strategy: | |
fail-fast:false | |
matrix: | |
os:[macos-15, macos-14, macos-13] | |
qt_version:[5, 6] | |
name:eudaq_full_build-${{matrix.os}}-apple-clang-qt-${{matrix.qt_version}} | |
steps: | |
-uses:actions/checkout@v4 | |
-name:install CERN ROOT | |
id:root_install | |
run:| | |
brew install root | |
-name:install QT | |
id:qt_install | |
run:| | |
brew install qt@${{matrix.qt_version}} | |
-name:install TLU dependencies | |
run:| | |
echo "installing libusb - tlu 1 requirement" | |
brew install libusb-compat | |
brew install libusb | |
#echo "installing ipbus - tlu 2 requirement" | |
#brew install erlang boost pugixml python@3.12 rsyslog | |
#echo "installing ipbus" | |
#mkdir -p $GITHUB_WORKSPACE/eudaq_dependencies/ipbus/ | |
#cd $GITHUB_WORKSPACE/eudaq_dependencies/ipbus/ | |
#git clone --depth=1 -b v2.8.13 --recurse-submodules https://github.com/ipbus/ipbus-software.git | |
#cd ipbus-software | |
#mkdir -p $GITHUB_WORKSPACE/extern/ | |
#make BUILD_UHAL_PYTHON=0 BUILD_UHAL_TESTS?=0 Set=uhal prefix=$GITHUB_WORKSPACE/extern/ CXXFLAGS="-g -Wall -pedantic -O3 -MMD -MP -fPIC" | |
#make install BUILD_UHAL_PYTHON=0 BUILD_UHAL_TESTS?=0 Set=uhal prefix=$GITHUB_WORKSPACE/extern/ CXXFLAGS="-g -Wall -pedantic -O3 -MMD -MP -fPIC" | |
-name:install cmspixel dependencies | |
run:| | |
export CXX=clang++ | |
brew install libusb-compat libusb libftdi | |
mkdir -p $GITHUB_WORKSPACE/eudaq_dependencies | |
cd $GITHUB_WORKSPACE/eudaq_dependencies | |
git clone https://github.com/simonspa/pxar.git | |
cd pxar | |
git checkout testbeam-2016 | |
mkdir build | |
cd build | |
cmake -DBUILD_pxarui=OFF .. | |
make install | |
ls $GITHUB_WORKSPACE/eudaq_dependencies/pxar | |
echo "PXARPATH=$GITHUB_WORKSPACE/eudaq_dependencies/pxar" >> "$GITHUB_ENV" | |
-name:install tbscDESY dependencies | |
run:| | |
brew install unixodbc | |
-name:install ITS3 dependencies | |
run:| | |
brew install nlohmann-json | |
-name:install CMSIT dependencies | |
run:| | |
brew install Boost | |
-name:Configure CMake | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run:| | |
test -f /opt/homebrew/bin/thisroot.sh && source /opt/homebrew/bin/thisroot.sh | |
test -f /usr/local/bin/thisroot.sh && source /usr/local/bin/thisroot.sh | |
export CXX=clang++ | |
echo "PXARPATH: $PXARPATH" | |
echo "USER_CALICE_BUILD=OFF on mac clang as compilation fails." | |
echo "USER_CARIBOUS_BUILD=OFF on mac clang as dependency PEARY is missing." | |
echo "USER_PISTAGE_BUILD=OFF on mac clang as dependency GCS lib is missing." | |
echo "USER_TIMEPIX3_BUILD=OFF on mac clang as dependency SPIDR is missing." | |
echo "AIDATLU will not be built as IPBUS not available on mac." | |
echo "USER_TBSCDESY_BUILD=OFF on mac as the headers like sql.h are not properly found (probably easy to fix)." | |
echo "USER_ITS3_BUILD=OFF on mac as header files of nlohmann json not properly found (probably should do it centrally for home brew)." | |
echo "............." | |
echo "USER_CMSPIXEL=OFF ..." | |
echo "USER_TLU_BUILD=OFF ..." | |
cmake -D CMAKE_CXX_COMPILER=${{ steps.install_cc.outputs.cxx }} -D EUDAQ_BUILD_ONLINE_ROOT_MONITOR=ON -D EUDAQ_LIBRARY_BUILD_TTREE=ON -D EUDAQ_LIBRARY_BUILD_LCIO=ON -D EUDAQ_BUILD_STDEVENT_MONITOR=ON -D EUDAQ_BUILD_GUI=ON -D USER_ALIBAVA_BUILD=ON -D USER_CMSPHASE2_BUILD=ON -D USER_CMSPIXEL_BUILD=OFF -D USER_EUDET_BUILD=ON -D USER_EXPERIMENTAL_BUILD=ON -D USER_ITKSTRIP_BUILD=ON -D USER_ITS3_BUILD=OFF -D USER_STCONTROL_BUILD=ON -D USER_TBSCDESY_BUILD=OFF -D USER_TLU_BUILD=OFF -D USER_CMSIT=ON -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
-name:Build | |
# Build your program with the given configuration | |
run:cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | |
-name:Test | |
working-directory:${{github.workspace}}/build | |
# Execute tests defined by the CMake configuration. | |
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
run:ctest -C ${{env.BUILD_TYPE}} | |