Build more code in CI (#725)
* bugfix/hostnport: Fix bacnet_fdt_entry_from_ascii() parse wrong * apps/router: Fix Wstrict-prototypes compiler warnings * apps/router: Fix -Wmissing-field-initializers compiler warning * ports/linux: Fix -Wself-assign compiler warning * ports/linux: Fix -Wunused-function compiler warning * Fix -Wimplicit-function-declaration warnings * ci: Add more compile options to enable more code build * ci: Do not fail-fast our main matrix build * cmake: Add -Wno-c99-extensions compiler option --------- Co-authored-by: Kari Argillander <kari.argillander@fidelix.com> Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
This commit is contained in:
@@ -17,6 +17,7 @@ jobs:
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [windows-latest, ubuntu-latest, macOS-latest]
|
||||
project: [root, test]
|
||||
@@ -28,6 +29,13 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install Dependencies (Ubuntu)
|
||||
if: matrix.os == 'ubuntu-latest' && matrix.project == 'root'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
# apps/router needs libconfig-dev.
|
||||
sudo apt-get install -y libconfig-dev
|
||||
|
||||
- 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
|
||||
@@ -48,11 +56,38 @@ jobs:
|
||||
source_dir=$GITHUB_WORKSPACE
|
||||
fi
|
||||
|
||||
if [[ "$RUNNER_OS" == "Windows" ]]; then
|
||||
cmake $source_dir -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
||||
else
|
||||
cmake $source_dir -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_C_FLAGS="-Werror"
|
||||
c_flags=""
|
||||
if [[ "$RUNNER_OS" != "Windows" ]]; then
|
||||
# Warnings as errors.
|
||||
c_flags="$c_flags -Werror"
|
||||
fi
|
||||
|
||||
# Compile as much as possible to at least compile test code.
|
||||
c_flags="$c_flags -DBACFILE=ON"
|
||||
c_flags="$c_flags -DPRINT_ENABLED=1"
|
||||
c_flags="$c_flags -DBACNET_TIME_MASTER=ON"
|
||||
c_flags="$c_flags -DBACAPP_COLOR_RGB_CONVERSION_ENABLED=ON"
|
||||
cmake_options="-DCMAKE_C_FLAGS=$c_flags"
|
||||
|
||||
# TODO: Add BACDL_BIP6=ON when it builds withous errors.
|
||||
cmake_options="$cmake_options -DBACDL_BIP=ON"
|
||||
cmake_options="$cmake_options -DBACNET_PROTOCOL_REVISION=24"
|
||||
|
||||
if [[ "$RUNNER_OS" != "macOS" ]]; then
|
||||
# Apple does not have port yet for this.
|
||||
cmake_options="$cmake_options -DBACDL_MSTP=ON"
|
||||
fi
|
||||
|
||||
if [[ "$RUNNER_OS" == "Linux" ]]; then
|
||||
# Apple nor Windows does not have port yet for this.
|
||||
cmake_options="$cmake_options -DBACDL_ARCNET=ON"
|
||||
|
||||
# Currently Windows fails because of pcab.h not found.
|
||||
# Apple does not have port yet for this.
|
||||
cmake_options="$cmake_options -DBACDL_ETHERNET=ON"
|
||||
fi
|
||||
|
||||
cmake $source_dir -DCMAKE_BUILD_TYPE=$BUILD_TYPE $cmake_options
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
|
||||
Reference in New Issue
Block a user