Merge pull request #93 from lanl/Gavin #197
This file contains 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: CMake | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
#env: | |
# # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
# BUILD_TYPE: Debug | |
jobs: | |
# This workflow contains a single job called "build" | |
build: | |
# | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- {name: "Ubuntu_Latest_GCC_SERIAL", os: ubuntu-latest, build_type: "Debug", cc: "gcc", cxx: "g++", matar_config_args: "", kokkos_config_args: ""} | |
- {name: "Ubuntu_Latest_GCC_KOKKOS_SERIAL", os: ubuntu-latest, build_type: "Debug", cc: "gcc", cxx: "g++", matar_config_args: "-DKOKKOS=ON", kokkos_config_args: "-DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DKokkos_ENABLE_SERIAL=ON -DKokkos_ENABLE_TESTS=OFF -DBUILD_TESTING=OFF"} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Checkout submodules | |
run: git submodule update --init --recursive | |
# Kokkos configure, build, and install------------------------------------------ | |
- if: contains(matrix.config.name, 'KOKKOS') | |
name: Configure Kokkos CMake | |
shell: bash | |
run: | | |
cmake \ | |
-S ${{ github.workspace }}/src/Kokkos/kokkos \ | |
-B ${{ github.workspace }}/build-kokkos-serial/kokkos \ | |
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/build-kokkos-serial/kokkos \ | |
${{ matrix.config.kokkos_config_args }} | |
- if: contains(matrix.config.name, 'KOKKOS') | |
name: Build Kokkos | |
shell: bash | |
run: cmake --build ${{ github.workspace }}/build-kokkos-serial/kokkos | |
- if: contains(matrix.config.name, 'KOKKOS') | |
name: Install Kokkos | |
shell: bash | |
run: cmake --install ${{ github.workspace }}/build-kokkos-serial/kokkos | |
# End Kokkos configure, build, and install------------------------------------------ | |
# MATAR configure and build------------------------------------------ | |
- if: false == contains(matrix.config.name, 'KOKKOS') | |
name: Configure MATAR CMake Without Kokkos | |
shell: bash | |
run: | | |
cmake \ | |
-B ${{ github.workspace }}/build-kokkos-serial/matar \ | |
-DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ | |
${{ matrix.config.matar_config_args }} | |
- if: contains(matrix.config.name, 'KOKKOS') | |
name: Configure MATAR CMake With Kokkos | |
shell: bash | |
run: | | |
cmake \ | |
-B ${{ github.workspace }}/build-kokkos-serial/matar \ | |
-DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ | |
${{ matrix.config.matar_config_args }} \ | |
-DKokkos_DIR=${{ github.workspace }}/build-kokkos-serial/kokkos/lib/cmake/Kokkos | |
- name: Build MATAR | |
shell: bash | |
run: cmake --build ${{github.workspace}}/build-kokkos-serial/matar | |
# End MATAR configure and build------------------------------------------ | |
#- 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}} | |