Skip to content

dbclib

dbclib #37

Workflow file for this run

# https://docs.github.com/en/actions/learn-github-actions/contexts
---
name: dbclib
on:
push:
branches:
- main
pull_request:
page_build:
workflow_dispatch:
env:
IS_RELEASE: ${{ github.event_name == 'push' && github.ref_type == 'tag' && startswith(github.ref_name, 'v') }}
jobs:
build:
runs-on: ${{ matrix.env.os }}
strategy:
fail-fast: false
matrix:
env:
- name: linux
os: ubuntu-latest
ninja_platform: linux
cmake_env: {}
# - name: macos
# os: macos-12
# ninja_platform: mac
# cmake_env:
# CC: clang
# CXX: clang++
# pack: 1
#
- name: win64
os: windows-latest
ninja_platform: win
msvc_arch: x64
cmake_env: {}
pack: 1
#
# - name: win32
# os: windows-latest
# ninja_platform: win
# msvc_arch: x86
# cmake_env:
# CMAKE_RC_FLAGS: "/C 1252"
# CC: clang
# CXX: clang++
# CMAKE_C_FLAGS: -m32
# CMAKE_CXX_FLAGS: -m32
# pack: 1
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Build expat
if: matrix.env.ninja_platform == 'mac'
run: >
# https://macappstore.org/expat/
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
brew install expat
- name: Install llvm
if: matrix.env.ninja_platform == 'mac'
run: brew install llvm
# https://stackoverflow.com/questions/23749530/brew-install-zlib-devel-on-mac-os-x-mavericks
- name: zlib
if: matrix.env.ninja_platform == 'mac'
run: >
wget https://www.zlib.net/zlib-1.2.12.tar.xz
tar -xvf zlib-1.2.12.tar.xz
cd zlib-1.2.12
./configure
make
make install
- name: Configure Release
env: ${{ matrix.env.cmake_env }}
run: >
cmake -G Ninja -B ${{github.workspace}}/build
-D CMAKE_BUILD_TYPE=Release -D DBC_PYTHON=ON
${{ env.CMAKE_FLAGS }} ${{ matrix.env.cmake_flags }} ../..
- name: Build
run: >
cmake --build ${{github.workspace}}/build
# install for testing
- name: Install
run: >
cd ${{github.workspace}}/build/release
sudo cmake --install .
# test if cmake finds the dbcLib automatically
- name: TestInstall
run: >
cd test/TestdbclibCMake
mkdir -p build
cd build
cmake -G Ninja ..
ninja
...