Skip to content

Commit ec1fabf

Browse files
Enable -Wall -Wextra for all Linux runners
With some exceptions.
1 parent eca63cd commit ec1fabf

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

.github/workflows/linux.bash

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ export PATH="/usr/lib/ccache/bin:/usr/lib/ccache:/usr/lib64/ccache:$PATH"
55
export CCACHE_DIR=/icinga2/ccache
66
export CTEST_OUTPUT_ON_FAILURE=1
77
CMAKE_OPTS=()
8+
# -Wstringop-overflow is notorious for false positives and has been a problem for years.
9+
# See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88443
10+
# -Wtemplate-id-cdtor leaks from using the generated headers. We should reenable this once
11+
# we're considering moving to C++20 and/or the -ti.hpp files are generated differently.
12+
WARN_FLAGS="-Wall -Wextra -Wno-template-id-cdtor -Wno-stringop-overflow"
813

914
case "$DISTRO" in
1015
alpine:*)
@@ -79,14 +84,21 @@ esac
7984

8085
case "$DISTRO" in
8186
alpine:*)
82-
CMAKE_OPTS+=(-DUSE_SYSTEMD=OFF -DICINGA2_WITH_MYSQL=OFF -DICINGA2_WITH_PGSQL=OFF)
87+
CMAKE_OPTS+=(
88+
-DUSE_SYSTEMD=OFF
89+
-DICINGA2_WITH_MYSQL=OFF
90+
-DICINGA2_WITH_PGSQL=OFF
91+
-DCMAKE_{C,CXX}_FLAGS="${WARN_FLAGS}"
92+
)
8393
;;
8494
debian:*|ubuntu:*)
8595
CMAKE_OPTS+=(-DICINGA2_LTO_BUILD=ON)
8696
source <(dpkg-buildflags --export=sh)
97+
export CFLAGS="${CFLAGS} ${WARN_FLAGS}"
98+
export CXXFLAGS="${CXXFLAGS} ${WARN_FLAGS}"
8799
;;
88100
*)
89-
CMAKE_OPTS+=(-DCMAKE_{C,CXX}_FLAGS="$(rpm -E '%{optflags} %{?march_flag}')")
101+
CMAKE_OPTS+=(-DCMAKE_{C,CXX}_FLAGS="$(rpm -E '%{optflags} %{?march_flag}') ${WARN_FLAGS}")
90102
export LDFLAGS="$(rpm -E '%{?build_ldflags}')"
91103
;;
92104
esac

0 commit comments

Comments
 (0)