Skip to content

install cmake via apt #106

install cmake via apt

install cmake via apt #106

Workflow file for this run

name: CMake
on: [push, pull_request]
env:
BUILD_TYPE: RelWithDebInfo
jobs:
build-mdspan:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
compiler_driver: [g++-9, g++-10, clang++, icpx]
stdcxx: [14, 17, 20, 23]
include:
- compiler_driver: g++-9
compiler_prefix: /usr/bin
image: gcc:9.5.0
- compiler_driver: g++-10
compiler_prefix: /usr/bin
image: gcc:10.5.0
- compiler_driver: clang++
compiler_prefix: /usr/bin
cxx_flags_extra: "-stdlib=libc++"
image: silkeh/clang:15
- compiler_driver: icpx
compiler_prefix: /opt/intel/oneapi/compiler/latest/linux/bin
# To get new URL, look here:
# https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#inpage-nav-6-undefined
compiler_url: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/ebf5d9aa-17a7-46a4-b5df-ace004227c0e/l_dpcpp-cpp-compiler_p_2023.2.1.8_offline.sh
image: intel/oneapi:2024.0.1-devel-ubuntu20.04
- enable_benchmark: ON
- stdcxx: 14
enable_benchmark: OFF
- stdcxx: 23
enable_benchmark: OFF
exclude:
- compiler_driver: g++-9
stdcxx: 23
- compiler_driver: g++-10
stdcxx: 23
name: ${{ matrix.compiler_driver }} C++${{ matrix.stdcxx }}
container:
image: ${{ matrix.image }}
steps:
- name: Apt install cmake
run: apt install -y cmake && rm -rf /var/lib/apt/lists/*
- name: Install gtest manually
run: |
mkdir -p /opt/gtest_src && cd /opt/gtest_src && wget -O- https://github.com/google/googletest/archive/refs/tags/v1.14.0.tar.gz | tar -xz
mkdir /opt/gtest_build && cd /opt/gtest_build && cmake /opt/gtest_src/v1.14.0 && cmake --build --target install
mkdir -p /opt/gbench_src && cd /opt/gbench_src && wget -O- https://github.com/google/benchmark/archive/refs/tags/v1.8.4.tar.gz | tar -xz
mkdir /opt/gbench_build && cd /opt/gbench_build && cmake /opt/gbench_src/v1.8.4 && cmake --build --target install
- name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/mdspan-build
- name: Check Out
uses: actions/checkout@v2
with:
path: ${{github.workspace}}/mdspan-src
- name: Configure CMake
shell: bash
working-directory: ${{github.workspace}}/mdspan-build
run: CXX=${{ matrix.compiler_prefix}}/${{ matrix.compiler_driver }} cmake $GITHUB_WORKSPACE/mdspan-src -DMDSPAN_CXX_STANDARD=${{ matrix.stdcxx }} -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/mdspan-install -DMDSPAN_ENABLE_TESTS=ON -DMDSPAN_ENABLE_EXAMPLES=ON -DMDSPAN_ENABLE_BENCHMARKS=${{matrix.enable_benchmark}} -DMDSPAN_ENABLE_COMP_BENCH=ON -DCMAKE_CXX_FLAGS=${{matrix.cxx_flags_extra}}
- name: Build
shell: bash
working-directory: ${{github.workspace}}/mdspan-build
run: make -j
- name: Test
working-directory: ${{github.workspace}}/mdspan-build
shell: bash
run: ctest --output-on-failure
- name: Install
shell: bash
working-directory: ${{github.workspace}}/mdspan-build
run: make install