diff --git a/.gitea/workflows/build_and_test.yml b/.gitea/workflows/build_and_test.yml index 3e19e6aa7..c1c65d9a6 100644 --- a/.gitea/workflows/build_and_test.yml +++ b/.gitea/workflows/build_and_test.yml @@ -88,7 +88,7 @@ jobs: cd build/tools ./jfjoch_hdf5_test ../../tests/test_data/compression_benchmark.h5 build-windows: - name: build:windows:${{ matrix.variant }} + name: build:viewer:windows-x86_64:${{ matrix.variant }} # Uploads to the release, so it waits for the job that creates it. needs: create-release runs-on: windows-11-cuda-qt @@ -136,7 +136,7 @@ jobs: if ($LASTEXITCODE -ne 0) { throw "Upload failed for $($file.Name)" } } build-viewer-tgz: - name: build:viewer-tgz:${{ matrix.variant }} + name: build:viewer:linux-x86_64:${{ matrix.variant }} # Uploads to the release, so it waits for the job that creates it. needs: create-release runs-on: jfjoch_rocky8 @@ -149,7 +149,7 @@ jobs: include: - variant: cuda use_cuda: 'ON' - - variant: cpu + - variant: nocuda use_cuda: 'OFF' steps: - uses: actions/checkout@v4 @@ -193,7 +193,7 @@ jobs: python3 gitea_upload_file.py "$tgz" done build-rugnux-tgz: - name: build:rugnux-tgz (x86_64) + name: build:rugnux:linux-x86_64:cuda # Uploads to the release, so it waits for the job that creates it. needs: create-release runs-on: jfjoch_rocky8 @@ -251,7 +251,7 @@ jobs: done build-rugnux-windows: - name: build:rugnux:windows + name: build:rugnux:windows-x86_64:cuda # Uploads to the release, so it waits for the job that creates it. needs: create-release runs-on: windows-11-cuda-qt @@ -296,7 +296,7 @@ jobs: } build-rugnux-arm: - name: build:rugnux:aarch64 (cross) + name: build:rugnux:linux-aarch64:cuda # cross-compiled on x86_64 # Uploads to the release, so it waits for the job that creates it. needs: create-release # Cross-compiled on an x86_64 runner: nvcc, gcc and cmake all run native and only emit aarch64, @@ -378,7 +378,7 @@ jobs: done build-macos-viewer: - name: build:macos:viewer (arm64) + name: build:viewer:macos-arm64:nocuda # Uploads to the release, so it waits for the job that creates it. needs: create-release # A Mac mini running act_runner in host mode (no containers on macOS): the job runs as the runner's @@ -446,7 +446,7 @@ jobs: done build-rugnux-macos: - name: build:rugnux:macos (arm64) + name: build:rugnux:macos-arm64:nocuda # Uploads to the release, so it waits for the job that creates it. needs: create-release runs-on: macos-arm64 # see build-macos-viewer @@ -498,7 +498,7 @@ jobs: done build-rpm: - name: build:rpm (${{ matrix.distro }}) + name: build:jfjoch:${{ matrix.platform }}:${{ matrix.variant }} # Uploads to the release, so it waits for the job that creates it. needs: create-release runs-on: ${{ matrix.runner }} @@ -511,60 +511,80 @@ jobs: - runner: jfjoch_rocky8 image: gitea.psi.ch/leonarski_f/jfjoch_rocky8:2609 distro: rocky8 + platform: rocky8 + variant: cuda cmake_flags: -DJFJOCH_USE_CUDA=ON pkg_glob: "*.rpm" upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet8-cuda12/upload - runner: jfjoch_rocky8 image: gitea.psi.ch/leonarski_f/jfjoch_rocky8:2609 distro: rocky8_sls9 + platform: rocky8 + variant: cuda-sls9 cmake_flags: -DJFJOCH_USE_CUDA=ON -DSLS9=ON pkg_glob: "*.rpm" upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet9-cuda12/upload - runner: jfjoch_rocky8 image: gitea.psi.ch/leonarski_f/jfjoch_rocky8:2609 distro: rocky8_nocuda + platform: rocky8 + variant: nocuda cmake_flags: -DJFJOCH_USE_CUDA=OFF pkg_glob: "*.rpm" upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet8-nocuda/upload - runner: jfjoch_rocky9 image: gitea.psi.ch/leonarski_f/jfjoch_rocky9:2609 distro: rocky9 + platform: rocky9 + variant: cuda cmake_flags: -DJFJOCH_USE_CUDA=ON pkg_glob: "*.rpm" upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/slsdet8-cuda13/upload - runner: jfjoch_rocky9 image: gitea.psi.ch/leonarski_f/jfjoch_rocky9:2609 distro: rocky9_sls9 + platform: rocky9 + variant: cuda-sls9 cmake_flags: -DJFJOCH_USE_CUDA=ON -DSLS9=ON pkg_glob: "*.rpm" upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/slsdet9-cuda13/upload - runner: jfjoch_rocky9 image: gitea.psi.ch/leonarski_f/jfjoch_rocky9:2609 distro: rocky9_nocuda + platform: rocky9 + variant: nocuda cmake_flags: -DJFJOCH_USE_CUDA=OFF pkg_glob: "*.rpm" upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/slsdet8-nocuda/upload - runner: jfjoch_ubuntu2204 image: gitea.psi.ch/leonarski_f/jfjoch_ubuntu2204:2609 distro: ubuntu2204 + platform: ubuntu2204 + variant: cuda cmake_flags: -DJFJOCH_USE_CUDA=ON pkg_glob: "*.deb" upload_url: https://gitea.psi.ch/api/packages/mx/debian/pool/jammy/cuda13/upload - runner: jfjoch_ubuntu2204 image: gitea.psi.ch/leonarski_f/jfjoch_ubuntu2204:2609 distro: ubuntu2204_nocuda + platform: ubuntu2204 + variant: nocuda cmake_flags: -DJFJOCH_USE_CUDA=OFF pkg_glob: "*.deb" upload_url: https://gitea.psi.ch/api/packages/mx/debian/pool/jammy/nocuda/upload - runner: jfjoch_ubuntu2404 image: gitea.psi.ch/leonarski_f/jfjoch_ubuntu2404:2609 distro: ubuntu2404 + platform: ubuntu2404 + variant: cuda cmake_flags: -DJFJOCH_USE_CUDA=ON pkg_glob: "*.deb" upload_url: https://gitea.psi.ch/api/packages/mx/debian/pool/noble/cuda13/upload - runner: jfjoch_ubuntu2404 image: gitea.psi.ch/leonarski_f/jfjoch_ubuntu2404:2609 distro: ubuntu2404_nocuda + platform: ubuntu2404 + variant: nocuda cmake_flags: -DJFJOCH_USE_CUDA=OFF pkg_glob: "*.deb" upload_url: https://gitea.psi.ch/api/packages/mx/debian/pool/noble/nocuda/upload diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a4c55252..15579e366 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,9 +9,10 @@ FILE(STRINGS VERSION JFJOCH_VERSION) STRING(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" JFJOCH_VERSION_NUMERIC "${JFJOCH_VERSION}") # Oldest macOS the binaries run on (ignored elsewhere). Without it CMake takes the version of the -# build machine, and a .dmg would refuse to start on anything older. 12 is the floor of current Qt 6; +# build machine, and a .dmg would refuse to start on anything older. 13 is what the Qt the .dmg +# bundles (6.11) is built for, so a lower value only makes the linker warn about every framework; # our own needs (, ) stop at 11. Has to be set before PROJECT(). -SET(CMAKE_OSX_DEPLOYMENT_TARGET "12.0" CACHE STRING "Minimum macOS version") +SET(CMAKE_OSX_DEPLOYMENT_TARGET "13.0" CACHE STRING "Minimum macOS version") PROJECT(jfjoch VERSION ${JFJOCH_VERSION_NUMERIC} LANGUAGES C CXX) SET(CMAKE_POLICY_DEFAULT_CMP0077 NEW)