Skip to content

Automatic download and build of MOAB #505

Automatic download and build of MOAB

Automatic download and build of MOAB #505

name: Windows Build/Test
on:
# allows us to run workflows manually
workflow_dispatch:
pull_request:
branches:
- develop
paths-ignore:
- '.github/workflows/docker_publish.yml'
- '.github/workflows/linux_build_test.yml'
- '.github/workflows/linux_upstream_test_*'
- '.github/workflows/mac_build_test.yml'
- '.github/workflows/housekeeping.yml'
- '.github/workflows/changelog_test.yml'
- '.github/actions/**'
- 'CI/**'
- 'doc/**'
push:
branches:
- develop
paths-ignore:
- '.github/workflows/docker_publish.yml'
- '.github/workflows/linux_build_test.yml'
- '.github/workflows/linux_upstream_test_*'
- '.github/workflows/mac_build_test.yml'
- '.github/workflows/housekeeping.yml'
- '.github/workflows/changelog_test.yml'
- '.github/actions/**'
- 'CI/**'
- 'doc/**'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
BuildTest:
runs-on: windows-2019
steps:
- uses: conda-incubator/setup-miniconda@v3
with:
auto-activate-base: true
activate-environment: ""
# yaml-cpp package has conflicting gtest headers and is not needed for this project
- name: Conda dependencies
shell: bash -l {0}
run: |
conda install curl eigen
conda install -c conda-forge hdf5=1.10.6
conda remove -y yaml-cpp
- name: Environment Variables
shell: bash -l {0}
run: |
echo "HOME_PATH=$GITHUB_WORKSPACE/.." >> $GITHUB_ENV
echo "CONDA_LOC=C:/Miniconda/Library" >> $GITHUB_ENV
cd ${HOME_PATH}
mkdir install_dir
- name: Build MOAB
shell: bash -l {0}
run: |
cd ${HOME_PATH}
git clone --depth 1 https://bitbucket.org/fathomteam/moab -b 5.5.1
mkdir moab_build
cd moab_build
cmake ../moab \
-DENABLE_BLASLAPACK=OFF \
-DENABLE_FORTRAN=OFF \
-DENABLE_IMESH=OFF \
-DENABLE_TESTING=OFF \
-DENABLE_HDF5=ON \
-DBUILD_SHARED_LIBS=ON \
-G"Visual Studio 16 2019" \
-DCMAKE_INSTALL_PREFIX=../install_dir/ \
-DEIGEN3_DIR="${CONDA_LOC}/include/eigen3" \
-DHDF5_ROOT="${CONDA_LOC}" \
-DHDF5_hdf5_LIBRARY_RELEASE="${CONDA_LOC}/lib/libhdf5_hl.lib;${CONDA_LOC}/lib/libhdf5.lib;${CONDA_LOC}/lib/zlib.lib;${CONDA_LOC}/lib/libhdf5_cpp.lib" \
-DCMAKE_EXE_LINKER_FLAGS="/std:c++latest -DH5_BUILT_AS_DYNAMIC_LIB" \
-DCMAKE_MODULE_LINKER_FLAGS="/std:c++latest" \
-DCMAKE_SHARED_LINKER_FLAGS="/std:c++latest" \
-DCMAKE_STATIC_LINKER_FLAGS="" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe" \
-DCMAKE_CXX_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe"
cmake --build . --config Release
cmake --install . --config Release
- uses: actions/checkout@v4
with:
submodules: true
- name: build DAGMC
shell: bash -l {0}
run: |
cd ${HOME_PATH}
mkdir build
cd build
cmake ../dagmc \
-G"Visual Studio 16 2019" \
-DBUILD_EXE=ON \
-DBUILD_STATIC_EXE=ON \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_STATIC_LIBS=ON \
-DBUILD_TALLY=OFF \
-DBUILD_BUILD_OBB=OFF \
-DBUILD_UWUW=ON \
-DBUILD_MAKE_WATERTIGHT=ON \
-DBUILD_OVERLAP_CHECK=OFF \
-DBUILD_TESTS=ON \
-DMOAB_DIR=../install_dir \
-DHDF5_ROOT="${CONDA_LOC}" \
-DHDF5_hdf5_LIBRARY_RELEASE="${CONDA_LOC}/lib/libhdf5_hl.lib;${CONDA_LOC}/lib/libhdf5.lib;${CONDA_LOC}/lib/zlib.lib;${CONDA_LOC}/lib/libhdf5_cpp.lib" \
-DCMAKE_INSTALL_PREFIX=../install_dir/ \
-DCMAKE_EXE_LINKER_FLAGS="" \
-DCMAKE_MODULE_LINKER_FLAGS="" \
-DCMAKE_SHARED_LINKER_FLAGS="" \
-DCMAKE_STATIC_LINKER_FLAGS="" \
-DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
cmake --install . --config Release
- name: Installation Environment Variables
shell: bash -l {0}
run: |
echo "PATH=$PATH:/d/a/DAGMC/install_dir/bin:/d/a/DAGMC/install_dir/tests" >> $GITHUB_ENV
- name: test DAGMC
shell: bash -l {0}
run: |
cd $HOME_PATH/install_dir/tests
dagmc_pointinvol_test.exe
dagmc_rayfire_test.exe
dagmc_simple_test.exe
dagmc_unit_tests.exe
make_watertight_cone_tests.exe
make_watertight_cylinder_tests.exe
make_watertight_no_curve_sphere_tests.exe
make_watertight_sphere_n_box_test.exe