- Notifications
You must be signed in to change notification settings - Fork147
Merge pull request #743 from arummler/devel-yarr-converter-simple-and…#222
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:windows_cl | |
# 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.windows_image}} | |
strategy: | |
matrix: | |
qt_version:[6] | |
compiler:[msvc] | |
arch:[x64, Win32] | |
include: | |
-qt_version:6 | |
qt_version_full:6.8.0 | |
arch:x64 | |
qt_arch:win64_msvc2022_64 | |
windows_image:windows-2022 | |
root_url:https://root.cern/download/root_v6.32.04.win64.vc17.zip | |
exclude: | |
-qt_version:6 | |
arch:Win32 | |
name:eudaq_full_build-windows-latest-${{matrix.compiler}}-${{matrix.arch}}-qt-${{matrix.qt_version}} | |
steps: | |
-uses:actions/checkout@v4 | |
-uses:ilammy/msvc-dev-cmd@v1 | |
with: | |
arch:${{ matrix.arch }} | |
# https://ddalcino.github.io/aqt-list-server/ | |
-name:Install Qt | |
uses:jurplel/install-qt-action@v4 | |
with: | |
version:${{matrix.qt_version_full}} | |
arch:${{ matrix.qt_arch }} | |
-name:install CERN ROOT | |
id:install_build | |
run:| | |
mkdir $HOME\eudaq_dependencies\ | |
Invoke-WebRequest -Uri ${{matrix.root_url}} -OutFile "$HOME\eudaq_dependencies\root.zip" | |
[System.IO.Compression.ZipFile]::ExtractToDirectory("$HOME\eudaq_dependencies\root.zip", "$HOME\eudaq_dependencies\") | |
-name:Install boost | |
uses:MarkusJx/install-boost@v2 | |
id:install-boost | |
with: | |
# REQUIRED: Specify the required boost version | |
# A list of supported versions can be found here: | |
# https://github.com/MarkusJx/prebuilt-boost/blob/main/versions-manifest.json | |
boost_version:1.87.0 | |
# OPTIONAL: Specify a custon install location | |
# boost_install_dir: C:\some_directory | |
# OPTIONAL: Specify a platform version | |
platform_version:2022 | |
# OPTIONAL: Specify a toolset | |
toolset:msvc | |
# NOTE: If a boost version matching all requirements cannot be found, this build step will fail | |
-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 | |
env: | |
Boost_DIR:${{ steps.install-boost.outputs.BOOST_ROOT }} | |
run:| | |
$env:ROOTSYS = "$HOME\eudaq_dependencies\root\" | |
Write-Host "path to thisroot : " $HOME\eudaq_dependencies\root\bin\thisroot.bat | |
Write-Host "ROOTSYS : " $env:ROOTSYS | |
#--debug-trycompile --debug-output | |
#cmake -A ${{ matrix.arch }} -D EUDAQ_BUILD_STDEVENT_MONITOR=ON -D EUDAQ_BUILD_GUI=ON -D USER_BUILD_TLU_ONLY_CONVERTER=ON -D USER_EUDET_BUILD=ON -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
echo "PXARPATH: $PXARPATH" | |
echo "USER_CALICE_BUILD=OFF on windows clang as compilation fails." | |
echo "USER_CARIBOUS_BUILD=OFF on windows clang as dependency PEARY is missing." | |
echo "USER_PISTAGE_BUILD=OFF on windows clang as dependency GCS lib is missing." | |
echo "USER_TIMEPIX3_BUILD=OFF on windows clang as dependency SPIDR is missing." | |
echo "AIDATLU will not be built as IPBUS not available on windows." | |
echo "USER_TBSCDESY_BUILD=OFF on windows as the headers like sql.h are not properly found (probably easy to fix)." | |
echo "USER_ITS3_BUILD=OFF on windows 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 ..." | |
echo "EUDAQ_LIBRARY_BUILD_LCIO=OFF on windows as LCIO not available." | |
echo "EUDAQ_BUILD_ONLINE_ROOT_MONITOR=OFF on windows as it does not compile." | |
echo "USER_ITKSTRIP_BUILD=OFF on windows as it does not compile." | |
echo "EUDAQ_LIBRARY_BUILD_TTREE=OFF on windows" | |
cmake -D CMAKE_CXX_COMPILER=${{ steps.install_cc.outputs.cxx }} -D EUDAQ_BUILD_ONLINE_ROOT_MONITOR=OFF -D EUDAQ_LIBRARY_BUILD_TTREE=OFF -D EUDAQ_LIBRARY_BUILD_LCIO=OFF -D EUDAQ_BUILD_STDEVENT_MONITOR=ON -D EUDAQ_BUILD_GUI=ON -D USER_ALIBAVA_BUILD=ON -D USER_CMSIT=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=OFF -D USER_ITS3_BUILD=OFF -D USER_STCONTROL_BUILD=ON -D USER_TBSCDESY_BUILD=OFF -D USER_TLU_BUILD=OFF -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 -V -C ${{env.BUILD_TYPE}} | |