86 lines
2.5 KiB
YAML
86 lines
2.5 KiB
YAML
name: cmake_config
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
cmake-check:
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
strategy:
|
|
matrix:
|
|
os: [windows-latest, macos-latest, ubuntu-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
continue-on-error: false
|
|
name: ${{ matrix.os }}
|
|
steps:
|
|
- name: Setup Windows dependencies
|
|
if: runner.os == 'Windows'
|
|
uses: msys2/setup-msys2@v2
|
|
with:
|
|
update: true
|
|
install: >-
|
|
autoconf
|
|
automake
|
|
diffutils
|
|
libtool
|
|
gcc
|
|
git
|
|
patch
|
|
perl
|
|
|
|
- name: Setup macOS dependencies
|
|
if: runner.os == 'macOS'
|
|
run: brew install automake
|
|
|
|
- uses: actions/checkout@main
|
|
|
|
- name: Prepare source tree for build (Windows)
|
|
if: runner.os == 'Windows'
|
|
run: ./autogen.sh
|
|
shell: msys2 {0}
|
|
|
|
- name: Prepare source tree for build (Unix)
|
|
if: runner.os != 'Windows'
|
|
run: ./autogen.sh
|
|
|
|
- name: Configure
|
|
run: |
|
|
cmake -S . \
|
|
-B build \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/../local
|
|
|
|
- name: Build
|
|
run: cmake --build build --config Release --verbose
|
|
|
|
- name: Install
|
|
run: cmake --install build --config Release
|
|
|
|
- name: Consume from the build directory - Configure
|
|
run: |
|
|
cmake -S tests/cmake \
|
|
-B consumer-build \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D LibreSSL_DIR=$GITHUB_WORKSPACE/build
|
|
- name: Consume from the build directory - Build
|
|
run: cmake --build consumer-build --config Release --verbose
|
|
|
|
- name: Consume from the install directory (CMAKE_PREFIX_PATH) - Configure
|
|
run: |
|
|
cmake -S tests/cmake \
|
|
-B consumer-install-prefix \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/../local
|
|
- name: Consume from the install directory (CMAKE_PREFIX_PATH) - Build
|
|
run: cmake --build consumer-install-prefix --config Release --verbose
|
|
|
|
- name: Consume from the install directory (LibreSSL_DIR) - Configure
|
|
run: |
|
|
cmake -S tests/cmake \
|
|
-B consumer-install-dir \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D LibreSSL_DIR=$GITHUB_WORKSPACE/../local/lib/cmake/LibreSSL
|
|
- name: Consume from the install directory (LibreSSL_DIR) - Build
|
|
run: cmake --build consumer-install-dir --config Release --verbose
|