Skip to content

WIP: Add cmake and rework into single executable #112

WIP: Add cmake and rework into single executable

WIP: Add cmake and rework into single executable #112

name: multi-os-build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
build-linux:
runs-on: ubuntu-latest
strategy:
matrix:
shared: [true, false]
steps:
- name: Install packages
uses: delgurth/get-package@v6
with:
# Space-separated list of packages to install using apt-get. Will only run if on ubuntu.
apt-get: libssl-dev cmake binutils-mingw-w64-i686 gcc-mingw-w64-i686 g++-mingw-w64-i686
- name: Checkout with submodules
uses: actions/checkout@v3
with:
submodules: 'true'
- name: config shared=${{ matrix.shared }}
run: >-
cmake
-Bbuild
-DBUILD_SHARED_LIBS=${{ matrix.shared }}
- name: Compile
run: cmake --build build
- name: test
run: ctest --test-dir build -V
build-osx:
runs-on: macos-latest
steps:
- name: Checkout with submodules
uses: actions/checkout@v3
with:
submodules: 'true'
- name: config shared=${{ matrix.shared }}
run: >-
cmake
-Bbuild
-DBUILD_SHARED_LIBS=${{ matrix.shared }}
-DENABLE_TESTS=Off
- name: Compile
run: cmake --build build
# - name: Compile
# run: CFLAGS="-I$(brew --prefix openssl@1.1)/include/" LDFLAGS="-L$(brew --prefix openssl@1.1)/lib/" make
build-win64:
runs-on: windows-latest
steps:
- name: Install Cygwin
# You may pin to the exact commit or the version.
# uses: egor-tensin/setup-cygwin@4f96f9fecb8c952fa32ff791b0a77d93d5191bb4
uses: egor-tensin/setup-cygwin@v3
with:
platform: x64 # optional, default is x64
install-dir: c:\tools\cygwin # optional, default is C:\tools\cygwin
packages: gcc-core binutils make zip libssl-devel cmake # optional
- name: Checkout with submodules
uses: actions/checkout@v3
with:
submodules: 'true'
- name: config shared=${{ matrix.shared }}
run: >-
cmake
-Bbuild
-DBUILD_SHARED_LIBS=${{ matrix.shared }}
-DENABLE_TESTS=Off
- name: Compile
run: cmake --build build
- name: pack
run: cd build cpack -G CYGWIN_BINARY
# - name: Compile
# run: make
# - name: Compile Windows-only tools and create a ZIP package
# run: make zip