diff --git a/.github/actions/upstream-test/action.yml b/.github/actions/upstream-test/action.yml index b96e1e2de..7cbf61ee1 100644 --- a/.github/actions/upstream-test/action.yml +++ b/.github/actions/upstream-test/action.yml @@ -5,10 +5,10 @@ inputs: description: token for logging in to the GHCR required: true default: '' - geant_version: + geant4_version: description: Version of Geant4 required: false - default: 11.1.2 + default: off ubuntu_version: description: Underlying OS version required: false @@ -25,10 +25,10 @@ inputs: description: Version of MOAB required: false default: 5.3.0 - double_down: - description: Whether or not to test Double Down + double_down_version: + description: Version of Double Down required: false - default: OFF + default: off runs: using: "composite" @@ -43,11 +43,24 @@ runs: - name: Installing Dependencies in Docker image uses: firehed/multistage-docker-build-action@v1 with: - repository: ghcr.io/${{ github.repository_owner }}/dagmc-ci-ubuntu-${{ inputs.ubuntu_version }}-${{ inputs.compiler}}-geant4_${{ inputs.geant_version }}-hdf5_${{ inputs.hdf5_version }}-moab_${{ inputs.moab_version }} + repository: > + ghcr.io/${{ github.repository_owner }}/ + dagmc-ci-ubuntu-${{ inputs.ubuntu_version }} + -${{ inputs.compiler}} + -hdf5_${{ inputs.hdf5_version}} + -moab_${{ inputs.moab_version }} + -geant4_${{ inputs.geant4_version }} + -double_down_${{ inputs.double_down_version }} stages: base, external_deps, hdf5, moab, dagmc server-stage: dagmc_test quiet: false parallel: true tag-latest-on-default: false dockerfile: CI/Dockerfile - build-args: COMPILER=${{ inputs.compiler }}, geant4_version=${{ inputs.geant_version }}, UBUNTU_VERSION=${{ inputs.ubuntu_version }}, HDF5_VERSION=${{ inputs.hdf5_version }}, MOAB_BRANCH=${{ inputs.moab_version }}, double_down=${{ inputs.double_down }} + build-args: > + UBUNTU_VERSION=${{ inputs.ubuntu_version }}, + COMPILER=${{ inputs.compiler }}, + HDF5_VERSION=${{ inputs.hdf5_version }}, + MOAB_VERSION=${{ inputs.moab_version }}, + GEANT4_VERSION=${{ inputs.geant4_version }}, + DOUBLE_DOWN_VERSION=${{ inputs.double_down_version }} diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml index 4801cf73d..0337034b5 100644 --- a/.github/workflows/docker_publish.yml +++ b/.github/workflows/docker_publish.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: - ubuntu_versions : [ + ubuntu_version : [ 20.04, 22.04, ] @@ -22,20 +22,21 @@ jobs: gcc, clang, ] - hdf5_versions : [ + hdf5_version : [ 1.14.3, ] - moab_versions : [ + moab_version : [ 5.4.1, 5.5.1, ] - double_down : [ - OFF, - ] - geant_version : [ + geant4_version : [ 10.7.4, 11.1.2 ] + double_down_version : [ + off, + v1.1.0, + ] name: Installing Dependencies, Building DAGMC and running tests steps: @@ -58,17 +59,34 @@ jobs: - name: Checkout repository uses: actions/checkout@v3 + - name: Configure docker image tag + run: | + image_base_tag=ghcr.io/${{ github.repository_owner }}/ + image_base_tag+=dagmc-ci-ubuntu-${{ matrix.ubuntu_version }} + image_base_tag+=-${{ matrix.compiler}} + image_base_tag+=-hdf5_${{ matrix.hdf5_version}} + image_base_tag+=-moab_${{ matrix.moab_version }} + image_base_tag+=-geant4_${{ matrix.geant4_version }} + image_base_tag+=-double_down_${{ matrix.double_down_version }} + echo "image_base_tag=${image_base_tag}" >> "$GITHUB_ENV" + - name: Installing Dependencies in Docker image uses: firehed/multistage-docker-build-action@v1 with: - repository: ghcr.io/${{ github.repository_owner }}/dagmc-ci-ubuntu-${{ matrix.ubuntu_versions }}-${{ matrix.compiler}}-geant4_${{ matrix.geant_version }}-hdf5_${{ matrix.hdf5_versions}}-moab_${{ matrix.moab_versions }} + repository: ${{ env.image_base_tag }} stages: base, external_deps, hdf5, moab, dagmc server-stage: dagmc_test quiet: false parallel: true tag-latest-on-default: ${{ env.tag-latest-on-default }} dockerfile: CI/Dockerfile - build-args: double_down=${{ matrix.double_down}}, geant4_version=${{ matrix.geant_version }}, COMPILER=${{ matrix.compiler }}, UBUNTU_VERSION=${{ matrix.ubuntu_versions }}, HDF5_VERSION=${{ matrix.hdf5_versions }}, MOAB_BRANCH=${{ matrix.moab_versions }} + build-args: > + UBUNTU_VERSION=${{ matrix.ubuntu_version }}, + COMPILER=${{ matrix.compiler }}, + HDF5_VERSION=${{ matrix.hdf5_version }}, + MOAB_VERSION=${{ matrix.moab_version }}, + GEANT4_VERSION=${{ matrix.geant4_version }}, + DOUBLE_DOWN_VERSION=${{ matrix.double_down_version}} push_stable_ci_img: @@ -77,7 +95,7 @@ jobs: strategy: matrix: - ubuntu_versions : [ + ubuntu_version : [ 20.04, 22.04, ] @@ -85,20 +103,21 @@ jobs: gcc, clang, ] - hdf5_versions : [ + hdf5_version : [ 1.14.3, ] - moab_versions : [ + moab_version : [ 5.4.1, 5.5.1, ] - double_down : [ - OFF, - ] - geant_version : [ + geant4_version : [ 10.7.4, 11.1.2 ] + double_down_version : [ + off, + v1.1.0, + ] name: Pushing final images steps: @@ -110,10 +129,17 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Store image name + - name: Configure docker image tag if: ${{ github.repository_owner == 'svalinn' }} run: | - echo "image_base_tag=ghcr.io/${{ github.repository_owner }}/dagmc-ci-ubuntu-${{ matrix.ubuntu_versions }}-${{ matrix.compiler }}-geant4_${{ matrix.geant_version }}-hdf5_${{ matrix.hdf5_versions }}-moab_${{ matrix.moab_versions }}" >> "$GITHUB_ENV" + image_base_tag=ghcr.io/${{ github.repository_owner }}/ + image_base_tag+=dagmc-ci-ubuntu-${{ matrix.ubuntu_version }} + image_base_tag+=-${{ matrix.compiler}} + image_base_tag+=-hdf5_${{ matrix.hdf5_version}} + image_base_tag+=-moab_${{ matrix.moab_version }} + image_base_tag+=-geant4_${{ matrix.geant4_version }} + image_base_tag+=-double_down_${{ matrix.double_down_version }} + echo "image_base_tag=${image_base_tag}" >> "$GITHUB_ENV" - name: Push Image as latest img if: ${{ github.repository_owner == 'svalinn' && github.ref == 'refs/heads/develop' }} diff --git a/.github/workflows/linux_upstream_test_double_down.yml b/.github/workflows/linux_upstream_test_double_down.yml index b23332db7..cfb1b9253 100644 --- a/.github/workflows/linux_upstream_test_double_down.yml +++ b/.github/workflows/linux_upstream_test_double_down.yml @@ -1,4 +1,4 @@ -name: Test against Double Down on PR merge +name: Test against Double Down development branch on PR merge on: # allows us to run workflows manually @@ -27,6 +27,4 @@ jobs: uses: ./.github/actions/upstream-test with: token: ${{ secrets.GITHUB_TOKEN }} - double_down: ON - - + double_down_version: develop diff --git a/.github/workflows/linux_upstream_test_geant4.yml b/.github/workflows/linux_upstream_test_geant4.yml index 3e09d0161..514351067 100644 --- a/.github/workflows/linux_upstream_test_geant4.yml +++ b/.github/workflows/linux_upstream_test_geant4.yml @@ -28,4 +28,3 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} geant_version: 11.1.2 - diff --git a/.github/workflows/linux_upstream_test_moab.yml b/.github/workflows/linux_upstream_test_moab.yml index 4e6df8faf..8d39fb17f 100644 --- a/.github/workflows/linux_upstream_test_moab.yml +++ b/.github/workflows/linux_upstream_test_moab.yml @@ -1,4 +1,4 @@ -name: Test against MOAB master on PR merge +name: Test against MOAB development branch (master) on PR merge on: # allows us to run workflows manually diff --git a/CI/Dockerfile b/CI/Dockerfile index 936072b14..93e6a5219 100644 --- a/CI/Dockerfile +++ b/CI/Dockerfile @@ -4,13 +4,15 @@ # docker build -t dagmc -f CI/Dockerfile . # Global ARGS set before the first build stage are accessable by all build stages -ARG EMBREE_BRANCH='v3.6.1' -ARG geant4_version=11.1.2 -ARG UBUNTU_VERSION=20.04 -ARG MOAB_BRANCH=5.5.1 -ARG double_down=OFF -ARG ci_jobs=4 +ARG UBUNTU_VERSION=22.04 ARG HDF5_VERSION=1.14.3 +ARG EMBREE_VERSION=v4.0.1 +# Setting GEANT4_VERSION=off will disable GEANT4 build +ARG GEANT4_VERSION=11.1.2 +ARG MOAB_VERSION=5.5.1 +# Setting DOUBLE_DOWN_VERSION=off will disable DOUBLE_DOWN build +ARG DOUBLE_DOWN_VERSION=v1.1.0 +ARG CI_JOBS=4 ARG build_dir=/root/build_dir ARG install_dir=/root/opt @@ -26,30 +28,30 @@ SHELL ["/bin/bash", "-c"] ENV TZ=America/Chicago RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone -# Update core packages -RUN apt-get -y update; \ - apt-get -y install autoconf \ - clang \ - cmake \ - g++ \ - gcc \ - gfortran \ - libhdf5-dev \ - libtool \ - libeigen3-dev\ - python3-numpy \ - python3 \ - python3-pip \ - python3-setuptools \ - python3-dev \ - libpython3-dev \ - wget \ - software-properties-common; \ - add-apt-repository ppa:git-core/ppa; \ - apt-get update; \ - apt-get install -y git; \ - update-alternatives --install /usr/bin/python python /usr/bin/python3 10; \ - update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10; \ +# Install Build Dependencies +RUN apt-get update --yes && \ + apt-get install --yes \ + git \ + wget \ + autoconf \ + clang \ + cmake \ + g++ \ + gcc \ + gfortran \ + libhdf5-dev \ + libtool \ + libeigen3-dev\ + python3 \ + python3-pip \ + python3-numpy \ + python3-setuptools \ + python3-dev \ + libpython3-dev \ + software-properties-common && \ + apt-get clean && rm -rf /var/lib/apt/lists/* && \ + update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && \ + update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10 && \ pip install "cython<3"; ARG build_dir @@ -71,66 +73,72 @@ ENV CXX=clang++ FROM compiler-${COMPILER} as external_deps # accessing gloabl ARGs in build stage -ARG geant4_version -ARG EMBREE_BRANCH ARG install_dir ARG build_dir -ARG ci_jobs +ARG CI_JOBS ARG CXX ARG CC - -ENV geant4_basename=geant4-v${geant4_version} -ENV geant4_tarball=${geant4_basename}.tar.gz -ENV geant4_shasum=2397eb859dc4de095ff66059d8bda9f060fdc42e10469dd7890946293eeb0e39 -ENV geant4_build_dir=${build_dir}/geant4 -ENV geant4_install_dir=${install_dir}/geant4 - -RUN mkdir -p ${geant4_build_dir}/build && \ - cd ${geant4_build_dir} && \ - wget https://gitlab.cern.ch/geant4/geant4/-/archive/v${geant4_version}/${geant4_tarball} --no-check-certificate && \ - tar -xzf ${geant4_tarball} && \ - cd build && \ - cmake ../${geant4_basename} -DCMAKE_INSTALL_RPATH=${geant4_install_dir}/lib \ - -DCMAKE_INSTALL_PREFIX=${geant4_install_dir} \ - -DGEANT4_USE_SYSTEM_EXPAT=OFF \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_COMPILER=${CXX} \ - -DCMAKE_C_COMPILER=${CC} \ - -DBUILD_STATIC_LIBS=ON && \ - make -j${ci_jobs} && \ - make install && \ - cd && \ - rm -rf ${geant4_build_dir} - +ARG DOUBLE_DOWN_VERSION +ARG EMBREE_VERSION +ARG GEANT4_VERSION ENV embree_install_dir=${install_dir}/embree ENV embree_build_dir=${build_dir}/embree # Clone and install Embree -RUN mkdir -p ${embree_build_dir}/build && \ - cd ${embree_build_dir} && \ - git clone -b ${EMBREE_BRANCH} https://github.com/embree/embree && \ - cd build && \ - cmake ../embree -DCMAKE_INSTALL_PREFIX=${embree_install_dir} \ - -DEMBREE_TASKING_SYSTEM=INTERNAL \ - -DEMBREE_ISPC_SUPPORT=OFF \ - -DEMBREE_TUTORIALS=OFF \ - -DEMBREE_TBB_ROOT=/usr && \ - make -j${ci_jobs} && \ - make -j${ci_jobs} install && \ - cd && \ - rm -rf ${embree_build_dir} +RUN if [ "${DOUBLE_DOWN_VERSION}" != "off" ]; then \ + mkdir -p ${embree_build_dir}/build && \ + cd ${embree_build_dir} && \ + git clone -b ${EMBREE_VERSION} https://github.com/embree/embree && \ + cd build && \ + cmake ../embree \ + -DCMAKE_INSTALL_PREFIX=${embree_install_dir} \ + -DEMBREE_TASKING_SYSTEM=INTERNAL \ + -DEMBREE_ISPC_SUPPORT=OFF \ + -DEMBREE_TUTORIALS=OFF \ + -DEMBREE_TBB_ROOT=/usr && \ + make -j${CI_JOBS} && \ + make -j${CI_JOBS} install && \ + cd && \ + rm -rf ${embree_build_dir}; \ + fi + + +ENV geant4_basename=geant4-v${GEANT4_VERSION} +ENV geant4_tarball=${geant4_basename}.tar.gz +ENV geant4_build_dir=${build_dir}/geant4 +ENV geant4_install_dir=${install_dir}/geant4 + +RUN if [ "${GEANT4_VERSION}" != "off" ]; then \ + mkdir -p ${geant4_build_dir}/build && \ + cd ${geant4_build_dir} && \ + wget https://gitlab.cern.ch/geant4/geant4/-/archive/v${GEANT4_VERSION}/${geant4_tarball} --no-check-certificate && \ + tar -xzf ${geant4_tarball} && \ + cd build && \ + cmake ../${geant4_basename} \ + -DCMAKE_INSTALL_RPATH=${geant4_install_dir}/lib \ + -DCMAKE_INSTALL_PREFIX=${geant4_install_dir} \ + -DGEANT4_USE_SYSTEM_EXPAT=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_COMPILER=${CXX} \ + -DCMAKE_C_COMPILER=${CC} \ + -DBUILD_STATIC_LIBS=ON && \ + make -j${CI_JOBS} && \ + make install && \ + cd && \ + rm -rf ${geant4_build_dir}; \ + fi FROM external_deps AS hdf5 # accessing gloabl ARGs in build stage -ARG HDF5_VERSION ARG install_dir ARG build_dir -ARG ci_jobs +ARG CI_JOBS ARG CXX ARG CC +ARG HDF5_VERSION ENV hdf5_build_dir=${build_dir}/hdf5 ENV hdf5_install_dir=${install_dir}/hdf5 @@ -145,7 +153,7 @@ RUN mkdir -p ${hdf5_build_dir}/build && \ --prefix=${hdf5_install_dir} \ CXX=${CXX} \ CC=${CC} && \ - make -j${ci_jobs} && \ + make -j${CI_JOBS} && \ make install && \ cd && \ rm -rf ${hdf5_build_dir} @@ -155,11 +163,12 @@ FROM hdf5 AS moab # accessing gloabl ARGs in build stage ARG install_dir -ARG MOAB_BRANCH ARG build_dir -ARG ci_jobs +ARG CI_JOBS ARG CXX ARG CC +ARG MOAB_VERSION +ARG DOUBLE_DOWN_VERSION # Set MOAB env variable @@ -169,37 +178,44 @@ ENV moab_install_dir=${install_dir}/moab RUN mkdir -p ${moab_build_dir}/build && \ cd ${moab_build_dir} && \ - git clone -b ${MOAB_BRANCH} --depth 1 https://bitbucket.org/fathomteam/moab && \ + git clone -b ${MOAB_VERSION} --depth 1 https://bitbucket.org/fathomteam/moab && \ cd build && \ - cmake ../moab -DCMAKE_INSTALL_RPATH=${hdf5_install_dir}/lib:${moab_install_dir}/lib \ - -DCMAKE_BUILD_TYPE=Release \ - -DENABLE_HDF5=ON -DHDF5_ROOT=${hdf5_install_dir} \ - -DCMAKE_INSTALL_PREFIX=${moab_install_dir} \ - -DCMAKE_CXX_COMPILER=${CXX} \ - -DCMAKE_C_COMPILER=${CC} \ - -DENABLE_BLASLAPACK=OFF \ - -DBUILD_SHARED_LIBS=ON \ - -DENABLE_FORTRAN=OFF \ - -DENABLE_PYMOAB=ON && \ - make -j${ci_jobs} && \ + cmake ../moab \ + -DCMAKE_INSTALL_RPATH=${hdf5_install_dir}/lib:${moab_install_dir}/lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_HDF5=ON -DHDF5_ROOT=${hdf5_install_dir} \ + -DCMAKE_INSTALL_PREFIX=${moab_install_dir} \ + -DCMAKE_CXX_COMPILER=${CXX} \ + -DCMAKE_C_COMPILER=${CC} \ + -DENABLE_BLASLAPACK=OFF \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_FORTRAN=OFF \ + -DENABLE_PYMOAB=ON && \ + make -j${CI_JOBS} && \ make install && \ cd && \ rm -rf ${moab_build_dir} + ENV double_down_build_dir=${build_dir}/double-down ENV double_down_install_dir=${install_dir}/double-down # Clone and install Double-Down -# performed after moab install as double-down requires moab -RUN mkdir -p ${double_down_build_dir}/build && \ - cd ${double_down_build_dir} && \ - git clone --shallow-submodules --single-branch --branch v1.0.0 --depth 1 https://github.com/pshriwise/double-down.git && \ - cd build && \ - cmake ../double-down -DMOAB_DIR=${moab_install_dir} \ - -DCMAKE_INSTALL_PREFIX=${double_down_install_dir} \ - -DEMBREE_DIR=${embree_install_dir} && \ - make -j${ci_jobs} && \ - make -j${ci_jobs} install +# Performed after moab and embree install as double-down requires moab and embree +RUN if [ "${DOUBLE_DOWN_VERSION}" != "off" ]; then \ + mkdir -p ${double_down_build_dir}/build && \ + cd ${double_down_build_dir} && \ + git clone -b ${DOUBLE_DOWN_VERSION} --depth 1 https://github.com/pshriwise/double-down.git && \ + cd build && \ + cmake ../double-down \ + -DMOAB_DIR=${moab_install_dir} \ + -DCMAKE_INSTALL_PREFIX=${double_down_install_dir} \ + -DEMBREE_DIR=${embree_install_dir} && \ + make -j${CI_JOBS} && \ + make -j${CI_JOBS} install && \ + cd && \ + rm -rf ${double_down_build_dir}; \ + fi FROM moab as dagmc @@ -207,9 +223,10 @@ FROM moab as dagmc # accessing gloabl ARGs in build stage ARG install_dir ARG build_dir -ARG double_down ARG CXX ARG CC +ARG GEANT4_VERSION +ARG DOUBLE_DOWN_VERSION ENV dagmc_build_dir=${build_dir}/dagmc ENV dagmc_install_dir=${install_dir}/dagmc @@ -222,21 +239,22 @@ RUN cd ${dagmc_build_dir} && git submodule update --init RUN mkdir -p ${dagmc_build_dir}/build && \ cd ${dagmc_build_dir} && \ cd build && \ - cmake ../ -DMOAB_DIR=${moab_install_dir} \ - -DBUILD_GEANT4=ON \ - -DGEANT4_DIR=${geant4_install_dir} \ - -DBUILD_CI_TESTS=ON \ - # reg tests disabled see issue https://github.com/svalinn/DAGMC/issues/858 - -DBUILD_MW_REG_TESTS=OFF \ - -DBUILD_STATIC_EXE=OFF \ - -DBUILD_STATIC_LIBS=OFF \ - -DCMAKE_C_COMPILER=${CC} \ - -DCMAKE_CXX_COMPILER=${CXX} \ - -DCMAKE_Fortran_COMPILER=gfortran \ - -DCMAKE_INSTALL_PREFIX=${dagmc_install_dir} \ - -DDOUBLE_DOWN=${double_down} \ - -Ddd_ROOT=${double_down_install_dir} && \ - make -j${ci_jobs} && \ + cmake ../ \ + -DMOAB_DIR=${moab_install_dir} \ + -DBUILD_GEANT4=$([ "${GEANT4_VERSION}" != "off" ] && echo "ON" || echo "OFF") \ + -DGEANT4_DIR=${geant4_install_dir} \ + -DBUILD_CI_TESTS=ON \ + # reg tests disabled see issue https://github.com/svalinn/DAGMC/issues/858 + -DBUILD_MW_REG_TESTS=OFF \ + -DBUILD_STATIC_EXE=OFF \ + -DBUILD_STATIC_LIBS=OFF \ + -DCMAKE_C_COMPILER=${CC} \ + -DCMAKE_CXX_COMPILER=${CXX} \ + -DCMAKE_Fortran_COMPILER=gfortran \ + -DCMAKE_INSTALL_PREFIX=${dagmc_install_dir} \ + -DDOUBLE_DOWN=$([ "${DOUBLE_DOWN_VERSION}" != "off" ] && echo "ON" || echo "OFF") \ + -Ddd_ROOT=${double_down_install_dir} && \ + make -j${CI_JOBS} && \ make install diff --git a/README.rst b/README.rst index ed19bc84d..92caa01ce 100644 --- a/README.rst +++ b/README.rst @@ -42,7 +42,7 @@ Quick links: * `Contributors guide `_ * `Release instructions `_ -*Preview CI for versions of upstream dependencies * +**Preview CI for versions of upstream dependencies** .. image:: https://github.com/svalinn/DAGMC/actions/workflows/linux_upstream_test_moab.yml/badge.svg?branch=develop :target: https://github.com/svalinn/DAGMC/actions/workflows/linux_upstream_test_moab.yml diff --git a/cmake/DAGMC_macros.cmake b/cmake/DAGMC_macros.cmake index ab24897a5..9b8b5b9db 100644 --- a/cmake/DAGMC_macros.cmake +++ b/cmake/DAGMC_macros.cmake @@ -90,6 +90,10 @@ macro (dagmc_setup_options) if (DOUBLE_DOWN) find_package(DOUBLE_DOWN REQUIRED) + if (DOUBLE_DOWN_VERSION VERSION_LESS 1.1.0) + message(FATAL_ERROR "Discovered Double Down Version: ${DOUBLE_DOWN_VERSION}. \ + Please update Double Down to version 1.1.0 or greater.") + endif() endif() diff --git a/doc/CHANGELOG.rst b/doc/CHANGELOG.rst index d821a5209..91a98c3de 100644 --- a/doc/CHANGELOG.rst +++ b/doc/CHANGELOG.rst @@ -14,6 +14,7 @@ Next version * Update MOAB to 5.5.1 from 5.3.0 (#939 #940) * Update README regarding OpenMC (#938) * Simplify Housekeeping Process for DAGMC (#943) + * Allow Double Down v1.1.0 Installation in Dockerfile (#929) v3.2.3 ==================== diff --git a/src/geant4/CMakeLists.txt b/src/geant4/CMakeLists.txt index 7599946d9..3df5256e5 100644 --- a/src/geant4/CMakeLists.txt +++ b/src/geant4/CMakeLists.txt @@ -1,6 +1,10 @@ message("") -find_package(Geant4 10.4.2 REQUIRED) +find_package(Geant4 REQUIRED) +if (Geant4_VERSION VERSION_LESS 10.4.2) + message(FATAL_ERROR "Discovered Geant4 Version: ${Geant4_VERSION}. \ + Please update Geant4 version to 10.4.2 or greater.") +endif() if ( Geant4_VERSION GREATER_EQUAL 11.0 ) message(STATUS "Configuring DAGMC for Geant4 version >= 11.0")