mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-23 05:34:48 +02:00
Merge pull request #10369 from Icinga/cflags
GHA: Linux: use the C(++) flags recommended by each respective distro
This commit is contained in:
commit
469f94e549
35
.github/workflows/linux.bash
vendored
35
.github/workflows/linux.bash
vendored
@ -4,12 +4,12 @@ set -exo pipefail
|
|||||||
export PATH="/usr/lib/ccache:/usr/lib64/ccache:$PATH"
|
export PATH="/usr/lib/ccache:/usr/lib64/ccache:$PATH"
|
||||||
export CCACHE_DIR=/icinga2/ccache
|
export CCACHE_DIR=/icinga2/ccache
|
||||||
export CTEST_OUTPUT_ON_FAILURE=1
|
export CTEST_OUTPUT_ON_FAILURE=1
|
||||||
CMAKE_OPTS=''
|
CMAKE_OPTS=()
|
||||||
|
|
||||||
case "$DISTRO" in
|
case "$DISTRO" in
|
||||||
amazonlinux:2)
|
amazonlinux:2)
|
||||||
amazon-linux-extras install -y epel
|
amazon-linux-extras install -y epel
|
||||||
yum install -y bison ccache cmake3 gcc-c++ flex ninja-build \
|
yum install -y bison ccache cmake3 gcc-c++ flex ninja-build system-rpm-config \
|
||||||
{libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel
|
{libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel
|
||||||
|
|
||||||
yum install -y bzip2 tar wget
|
yum install -y bzip2 tar wget
|
||||||
@ -24,28 +24,30 @@ case "$DISTRO" in
|
|||||||
|
|
||||||
ln -vs /usr/bin/cmake3 /usr/local/bin/cmake
|
ln -vs /usr/bin/cmake3 /usr/local/bin/cmake
|
||||||
ln -vs /usr/bin/ninja-build /usr/local/bin/ninja
|
ln -vs /usr/bin/ninja-build /usr/local/bin/ninja
|
||||||
CMAKE_OPTS='-DBOOST_INCLUDEDIR=/boost_1_69_0 -DBOOST_LIBRARYDIR=/boost_1_69_0/stage/lib'
|
CMAKE_OPTS+=(-DBOOST_{INCLUDEDIR=/boost_1_69_0,LIBRARYDIR=/boost_1_69_0/stage/lib})
|
||||||
export LD_LIBRARY_PATH=/boost_1_69_0/stage/lib
|
export LD_LIBRARY_PATH=/boost_1_69_0/stage/lib
|
||||||
;;
|
;;
|
||||||
|
|
||||||
amazonlinux:20*)
|
amazonlinux:20*)
|
||||||
dnf install -y bison cmake flex gcc-c++ ninja-build \
|
dnf install -y amazon-rpm-config bison cmake flex gcc-c++ ninja-build \
|
||||||
{boost,libedit,mariadb1\*,ncurses,openssl,postgresql,systemd}-devel
|
{boost,libedit,mariadb1\*,ncurses,openssl,postgresql,systemd}-devel
|
||||||
;;
|
;;
|
||||||
|
|
||||||
debian:*|ubuntu:*)
|
debian:*|ubuntu:*)
|
||||||
apt-get update
|
apt-get update
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-{recommends,suggests} -y bison \
|
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-{recommends,suggests} -y \
|
||||||
ccache cmake flex g++ lib{boost-all,edit,mariadb,ncurses,pq,ssl,systemd}-dev ninja-build tzdata
|
bison ccache cmake dpkg-dev flex g++ ninja-build tzdata \
|
||||||
|
lib{boost-all,edit,mariadb,ncurses,pq,ssl,systemd}-dev
|
||||||
;;
|
;;
|
||||||
|
|
||||||
fedora:*)
|
fedora:*)
|
||||||
dnf install -y bison ccache cmake flex gcc-c++ ninja-build \
|
dnf install -y bison ccache cmake flex gcc-c++ ninja-build redhat-rpm-config \
|
||||||
{boost,libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel
|
{boost,libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*suse*)
|
*suse*)
|
||||||
zypper in -y bison ccache cmake flex gcc-c++ ninja {lib{edit,mariadb,openssl},ncurses,postgresql,systemd}-devel \
|
zypper in -y bison ccache cmake flex gcc-c++ ninja rpm-config-SUSE \
|
||||||
|
{lib{edit,mariadb,openssl},ncurses,postgresql,systemd}-devel \
|
||||||
libboost_{context,coroutine,filesystem,iostreams,program_options,regex,system,test,thread}-devel
|
libboost_{context,coroutine,filesystem,iostreams,program_options,regex,system,test,thread}-devel
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@ -61,22 +63,33 @@ case "$DISTRO" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
dnf install -y bison ccache cmake gcc-c++ flex ninja-build \
|
dnf install -y bison ccache cmake gcc-c++ flex ninja-build redhat-rpm-config \
|
||||||
{boost,libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel
|
{boost,libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
case "$DISTRO" in
|
||||||
|
debian:*|ubuntu:*)
|
||||||
|
CMAKE_OPTS+=(-DICINGA2_LTO_BUILD=ON)
|
||||||
|
source <(dpkg-buildflags --export=sh)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
CMAKE_OPTS+=(-DCMAKE_{C,CXX}_FLAGS="$(rpm -E '%{optflags} %{?march_flag}')")
|
||||||
|
export LDFLAGS="$(rpm -E '%{?build_ldflags}')"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
mkdir /icinga2/build
|
mkdir /icinga2/build
|
||||||
cd /icinga2/build
|
cd /icinga2/build
|
||||||
|
|
||||||
cmake \
|
cmake \
|
||||||
-GNinja \
|
-GNinja \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-DICINGA2_UNITY_BUILD=ON \
|
-DICINGA2_UNITY_BUILD=ON \
|
||||||
-DUSE_SYSTEMD=ON \
|
-DUSE_SYSTEMD=ON \
|
||||||
-DICINGA2_USER=$(id -un) \
|
-DICINGA2_USER=$(id -un) \
|
||||||
-DICINGA2_GROUP=$(id -gn) \
|
-DICINGA2_GROUP=$(id -gn) \
|
||||||
$CMAKE_OPTS ..
|
"${CMAKE_OPTS[@]}" ..
|
||||||
|
|
||||||
ninja -v
|
ninja -v
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user