Add conditional build macros

Works the same way by default, but now there are options.
This commit is contained in:
FrostbyteGR 2019-04-30 14:14:53 +03:00 committed by GitHub
parent 7fe01f57ab
commit 162a2ca874
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 86 additions and 1 deletions

View File

@ -61,6 +61,26 @@
%define icinga_group icinga
%define icingacmd_group icingacmd
# enable unity builds by default for all architectures except arm32
%ifarch %{arm}
%bcond_with unity_build
%else
%bcond_without unity_build
%endif
%bcond_without lto_build
%bcond_with systemd_and_init
%bcond_without checker
%bcond_without compat
%bcond_with demo
%bcond_with hello
%bcond_without livestatus
%bcond_without notification
%bcond_without perfdata
%bcond_without tests
%bcond_without mysql
%bcond_without pgsql
%define logmsg logger -t %{name}/rpm
%define boost_min_version 1.66
@ -326,7 +346,6 @@ CMAKE_OPTS="-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DCMAKE_INSTALL_LOCALSTATEDIR=/var \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DICINGA2_LTO_BUILD=ON \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBoost_NO_BOOST_CMAKE=ON \
-DICINGA2_PLUGINDIR=%{plugindir} \
@ -339,6 +358,72 @@ CMAKE_OPTS="-DCMAKE_INSTALL_PREFIX=/usr \
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_STUDIO=true"
%endif
%if %{with unity_build}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_UNITY_BUILD=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_UNITY_BUILD=OFF"
%endif
%if %{with lto_build}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_LTO_BUILD=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_LTO_BUILD=OFF"
%endif
%if %{with systemd_and_init}
CMAKE_OPTS="$CMAKE_OPTS -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=OFF"
%endif
%if %{with checker}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_CHECKER=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_CHECKER=OFF"
%endif
%if %{with compat}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_COMPAT=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_COMPAT=OFF"
%endif
%if %{with demo}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_DEMO=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_DEMO=OFF"
%endif
%if %{with hello}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_HELLO=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_HELLO=OFF"
%endif
%if %{with livestatus}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_LIVESTATUS=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_LIVESTATUS=OFF"
%endif
%if %{with notification}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_NOTIFICATION=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_NOTIFICATION=OFF"
%endif
%if %{with perfdata}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_PERFDATA=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_PERFDATA=OFF"
%endif
%if %{with tests}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_TESTS=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_TESTS=OFF"
%endif
%if %{with mysql}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_MYSQL=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_MYSQL=OFF"
%endif
%if %{with pgsql}
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_PGSQL=ON"
%else
CMAKE_OPTS="$CMAKE_OPTS -DICINGA2_WITH_PGSQL=OFF"
%endif
%if (0%{?el6} || 0%{?rhel} == 6)
# Explicitly link against rt, because ld doesn't detect it automatically
CMAKE_OPTS="$CMAKE_OPTS -DCMAKE_EXE_LINKER_FLAGS=-lrt"