mirror of https://github.com/ntop/n2n.git
Browse Source
* create GitHubAction to build via cmake on ubuntu make just with the assistant * GHA/cmake: build via matrix for different OS * build for Linux-x86, Linux-arm and MacOS * code taken from https://github.community/t/create-matrix-with-multiple-os-and-env-for-each-one/16895/6 * GHA: add a build on Windowspull/682/head
Sven Roederer
4 years ago
committed by
GitHub
1 changed files with 64 additions and 0 deletions
@ -0,0 +1,64 @@ |
|||||
|
name: CMake |
||||
|
|
||||
|
on: [push] |
||||
|
|
||||
|
env: |
||||
|
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) |
||||
|
BUILD_TYPE: Release |
||||
|
|
||||
|
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: ${{ matrix.os }} |
||||
|
strategy: |
||||
|
matrix: |
||||
|
include: |
||||
|
- os: ubuntu-latest |
||||
|
TARGET: x86_64-unknown-linux-musl |
||||
|
COMPILER: gcc |
||||
|
LINKER: gcc |
||||
|
- os: ubuntu-latest |
||||
|
TARGET: armv7-unknown-linux-musleabihf |
||||
|
COMPILER: arm-linux-gnueabihf-gcc-5 |
||||
|
LINKER: gcc-5-arm-linux-gnueabihf |
||||
|
- os: windows-latest |
||||
|
COMPILER: cl |
||||
|
LINKER: cl |
||||
|
- os: macos-latest |
||||
|
TARGET: x86_64-apple-darwin |
||||
|
COMPILER: clang |
||||
|
LINKER: clang |
||||
|
|
||||
|
steps: |
||||
|
- uses: actions/checkout@v2 |
||||
|
|
||||
|
- name: Create Build Environment |
||||
|
# Some projects don't allow in-source building, so create a separate build directory |
||||
|
# We'll use this as our working directory for all subsequent commands |
||||
|
run: cmake -E make_directory ${{github.workspace}}/build |
||||
|
|
||||
|
- name: Configure CMake |
||||
|
# Use a bash shell so we can use the same syntax for environment variable |
||||
|
# access regardless of the host operating system |
||||
|
shell: bash |
||||
|
working-directory: ${{github.workspace}}/build |
||||
|
# Note the current convention is to use the -S and -B options here to specify source |
||||
|
# and build directories, but this is only available with CMake 3.13 and higher. |
||||
|
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12 |
||||
|
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE |
||||
|
|
||||
|
- name: Build |
||||
|
working-directory: ${{github.workspace}}/build |
||||
|
shell: bash |
||||
|
# Execute the build. You can specify a specific target with "--target <NAME>" |
||||
|
run: cmake --build . --config $BUILD_TYPE |
||||
|
|
||||
|
- name: Test |
||||
|
working-directory: ${{github.workspace}}/build |
||||
|
shell: bash |
||||
|
# Execute tests defined by the CMake configuration. |
||||
|
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail |
||||
|
run: ctest -C $BUILD_TYPE |
Loading…
Reference in new issue