Skip to content

CMake build

CMake build #4

Workflow file for this run

name: CMake build
on: workflow_dispatch
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
# This yml is copied from https://github.com/hn-88/pan2fulldome/blob/main/.github/workflows/cmake.yml
# and modified.
BUILD_TYPE: Release
#PATH_TO_ARTIFACT: $GITHUB_WORKSPACE/build/pan2fulldome this does not seem to work
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install OpenCV
# We're using the distro's default opencv build, since that should be sufficient.
run: |
sudo apt update
sudo apt install libopencv-dev python3-opencv
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Create appimage
working-directory: ${{github.workspace}}/build
# https://appimage-builder.readthedocs.io/en/latest/hosted-services/github-actions.html
# But instead using linuxdeployqt as in https://github.com/hn-88/OCVWarp/blob/master/.travis.yml
run: |
echo "create appimage"
mkdir -p appdir/usr/bin ; strip OCVWarp.bin ; cp OCVWarp.bin ./appdir/usr/bin/OCVWarp.bin
mkdir -p appdir/usr/share/applications ; cp ../appdir/OCVWarp.desktop ./appdir/usr/share/applications/
mkdir -p appdir/usr/share/icons/hicolor/256x256/apps ; cp ../appdir/OCVWarp.png ./appdir/usr/share/icons/hicolor/256x256/apps/
wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
chmod a+x linuxdeployqt-continuous-x86_64.AppImage
unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
export VERSION=$(git rev-parse --short HEAD) # linuxdeployqt uses this for naming the file
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -appimage
mv OCVWarp*.AppImage OCVWarp-2.80-x86_64.AppImage -v
- name: Upload a Build Artifact
uses: actions/[email protected]
with:
# Artifact name
name: OCVWarp-appimage
# optional, default is artifact
# A file, directory or wildcard pattern that describes what to upload
path: build/OCVWarp-2.80-x86_64.AppImage