build: Add CMake build #34
Workflow file for this run
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
# inspired by "build GDAL library and to run test with CMake" | ||
# from https://github.com/OSGeo/gdal/blob/master/.github/workflows/cmake_builds.yml | ||
name: Build and test with CMake | ||
on: | ||
push: | ||
paths-ignore: | ||
- 'doc/**' | ||
branches-ignore: | ||
- 'backport**' | ||
pull_request: | ||
paths-ignore: | ||
- 'doc/**' | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | ||
cancel-in-progress: true | ||
env: | ||
CMAKE_UNITY_BUILD: OFF | ||
permissions: | ||
contents: read # to fetch code (actions/checkout) | ||
jobs: | ||
build-linux-ubuntu-20.04: | ||
Check failure on line 28 in .github/workflows/cmake.yml GitHub Actions / Build and test with CMakeInvalid workflow file
|
||
runs-on: ubuntu-20.04 | ||
env: | ||
CMAKE_OPTIONS: -DPython_LOOKUP_VERSION=3.8 -DUSE_CCACHE=ON | ||
cache-name: cmake-ubuntu-20.04 | ||
steps: | ||
- name: Checkout GRASS | ||
uses: actions/checkout@v3 | ||
- name: Setup cache | ||
uses: actions/cache@v3 | ||
id: cache | ||
with: | ||
path: ${{ github.workspace }}/.ccache | ||
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.base_ref }}${{ github.ref_name }}-${{ github.run_id }} | ||
restore-keys: | | ||
${{ runner.os }}-${{ env.cache-name }}-${{ github.base_ref }} | ||
${{ runner.os }}-${{ env.cache-name }} | ||
- name: Install CMake 3.11.4 | ||
run: | | ||
cd ${GITHUB_WORKSPACE} | ||
wget https://github.com/Kitware/CMake/releases/download/v3.11.4/cmake-3.11.4-Linux-x86_64.tar.gz | ||
tar xzf cmake-3.11.4-Linux-x86_64.tar.gz | ||
echo "CMAKE_DIR=$GITHUB_WORKSPACE/cmake-3.11.4-Linux-x86_64/bin" >> $GITHUB_ENV | ||
echo "$GITHUB_WORKSPACE/cmake-3.11.4-Linux-x86_64/bin" >> $GITHUB_PATH | ||
- run: | | ||
cmake --version | ||
- name: Install dependencies | ||
run: | | ||
sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable | ||
sudo apt-get update | ||
sudo apt-get install -y -q build-essential \ | ||
flex make bison gcc libgcc1 g++ ccache \ | ||
python3 python3-dev \ | ||
python3-opengl python3-wxgtk4.0 \ | ||
python3-dateutil libgsl-dev python3-numpy \ | ||
wx3.0-headers wx-common libwxgtk3.0-gtk3-dev \ | ||
libwxbase3.0-dev libbz2-dev zlib1g-dev gettext \ | ||
libtiff5-dev libpnglite-dev libcairo2 libcairo2-dev \ | ||
sqlite3 libsqlite3-dev \ | ||
libpq-dev libreadline6-dev libfreetype6-dev \ | ||
libfftw3-3 libfftw3-dev \ | ||
libboost-thread-dev libboost-program-options-dev libpdal-dev\ | ||
subversion libzstd-dev checkinstall \ | ||
libglu1-mesa-dev libxmu-dev \ | ||
ghostscript wget -y make ccache g++ | ||
sudo apt-get update -y | ||
- name: Configure ccache | ||
run: | | ||
echo CCACHE_BASEDIR=$PWD >> ${GITHUB_ENV} | ||
echo CCACHE_DIR=$PWD/.ccache >> ${GITHUB_ENV} | ||
echo CCACHE_MAXSIZE=250M >> ${GITHUB_ENV} | ||
ccache -z | ||
working-directory: ${{ github.workspace }} | ||
- name: Configure | ||
run: | | ||
mkdir build | ||
cmake ${CMAKE_OPTIONS} -S $GITHUB_WORKSPACE -B $GITHUB_WORKSPACE/build | ||
- name: Build | ||
run: | | ||
cd $GITHUB_WORKSPACE/build | ||
cmake --build . -j$(nproc) | ||
- name: ccache statistics | ||
run: ccache -s | ||