Commit Graph

226 Commits

Author SHA1 Message Date
Alexander A. Klimov f3c7ac11e9 /v1/debug/malloc_info: call malloc_info(3) if available
The GNU libc function malloc_info(3) provides memory allocation and usage
statistics of Icinga 2 itself.
2024-08-09 12:59:25 +02:00
Alexander Aleksandrovič Klimov ba0c712a8d
CMakeLists.txt: set(CPACK_WIX_INSTALL_SCOPE NONE)
to stick to CMake pre-v3.29 behavior. CMake v3.29 introduces CPACK_WIX_INSTALL_SCOPE. Its default conflicts with the ALLUSERS property in our icinga-installer/icinga2.wixpatch.cmake.
2024-04-04 17:53:42 +02:00
Alexander A. Klimov c070e95b03 Windows: bump OpenSSL v1.1 (soon EOL) -> v3.0 2023-06-14 12:03:22 +02:00
Julian Brost 07d2527c7f
Merge pull request #9703 from Icinga/NSClient++
Windows MSI: don't bundle NSClient++
2023-05-24 14:49:54 +02:00
Julian Brost 3276cc9412
Merge pull request #9705 from Icinga/windows-doc-off
On Windows don't ship docs and images
2023-05-11 16:13:55 +02:00
Alexander Aleksandrovič Klimov 9f5ba58a1c
Merge pull request #9706 from Icinga/Al2Klimov-patch-3
Require CMake s/2.8.8/2.8.12/
2023-05-09 10:20:28 +02:00
Alexander A. Klimov 2948d023bf Windows MSI: don't bundle NSClient++ 2023-04-03 14:36:30 +02:00
Julian Brost 41065e30c8
Merge pull request #9485 from Icinga/cxx17
Require GCC 7+ for C++17
2023-03-31 14:06:55 +02:00
Alexander A. Klimov 5055d216a3 Don't include perfdata writers on Windows
Icinga DB, IDO and Livestatus are already not included.
2023-02-23 16:03:57 +01:00
Alexander Aleksandrovič Klimov 45e1c29935
Require CMake s/2.8.8/2.8.12/
because we can.
2023-02-23 15:49:20 +01:00
Alexander A. Klimov 260eb5c475 CMakeLists.txt: provide sane defaults for which subsystems to build
not to have to explicitly disable particular ones in multiple locations.
2023-02-23 14:54:57 +01:00
Alexander A. Klimov 9cdc353325 On Windows don't ship docs and images 2023-02-23 12:31:28 +01:00
Alexander A. Klimov 11f7fb1928 CMakeLists.txt: don't surprise (i.e. terminate) CMake < 3.8 (on SLES 12.5)
with "set(CMAKE_CXX_STANDARD 17)" which it doesn't know.
2023-02-20 15:35:37 +01:00
Alexander A. Klimov 616ccc45fc Require C++17 2023-02-20 15:35:37 +01:00
Alexander A. Klimov 9e90b17eb4 Require GCC 7+ 2023-02-20 15:35:37 +01:00
Julian Brost 83dba2f93b
Merge pull request #7921 from Icinga/feature/-fno-limit-debug-info-6395
CLang: compile with -fno-limit-debug-info
2023-01-12 17:10:39 +01:00
Alexander A. Klimov 797da46f1e Compile with -std=c++YY, not -std=gnu++YY, again 2022-08-15 17:33:54 +02:00
Julian Brost ad58106226
Merge pull request #9133 from Icinga/feature/gcc63
Require C++14 and GCC 6.3+
2022-08-12 14:17:12 +02:00
Alexander A. Klimov 600fb0e3c2 Introduce AtomicFile 2022-07-28 18:00:37 +02:00
Alexander A. Klimov 1d67a3dcf3 Require C++14 2022-06-13 18:54:39 +02:00
Alexander A. Klimov 9284e67aa2 Require GCC 6.3+ 2022-06-13 18:54:39 +02:00
Alexander Aleksandrovič Klimov 7270caf226
Put `-latomic` to the other `-l`s
to make it compiling on Raspberry Pi OS bullseye.
2021-11-23 16:19:05 +01:00
Julian Brost 3ad9d3316c Compile with -D_GNU_SOURCE
Needed by `boost::stacktrace` for `_Unwind_Backtrace()`.
2021-03-01 14:07:11 +01:00
Julian Brost cdfcef4d63 CMakeLists: use HAVE_LIBEXECINFO only after actually checking for it
So far, the check that actually sets HAVE_LIBEXECINFO was executed after
it was already used to add dependencies.
2021-03-01 14:07:11 +01:00
Julian Brost b931194f59 Use backtrace_symbols() when printing stack traces on FreeBSD
Unfortunately, the symbol resolution of boost::stacktrace is broken on
FreeBSD, therefore fall back to using backtrace_symbols() to print the
stack trace saved by Boost.

Additionally, -D_GNU_SOURCE is required on FreeBSD for the
_Unwind_Backtrace function used by boost::stacktrace.
2021-03-01 14:07:09 +01:00
Julian Brost f084cdecbe Windows: require at least MSVC 19.20 to build
Older versions of MSVC fail to rethrow an unhandled C++ exception (using
`throw;`) in the termination handler (`std::set_terminate`), however
Icinga relies on this behavior in its crash handler
(`Application::ExceptionHandler`).
2021-03-01 14:06:47 +01:00
Edgar Fuß 718ebe3cbd Avoid name clashes on case-insensitive file systems
On case-insensitive file systems (i.e. macOS), the VERSION file collides with the Boost-provided version file on #include <version>.

Work around by re-naming VERSION to ICINGA2_VERSION.
2021-01-15 17:46:16 +01:00
Alexander A. Klimov 34942a3511 Define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT
... to enable compiling with Boost v1.74.

refs #8185
2020-12-14 15:59:56 +01:00
Alexander Aleksandrovič Klimov dbb5286d2c
Merge pull request #7904 from sni/fix_boost_lib_order
fix boost library order
2020-10-29 13:43:04 +01:00
Alexander A. Klimov 535bd7a1c4 CLang: compile with -fno-limit-debug-info
refs #6395
2020-03-17 18:12:36 +01:00
Sven Nierlein 0ea6e677b6 fix boost library order
When statically compiling icinga2 with a local boost the order of the boost libraries matters.
Correcting the order fixes the following linker issue:

```
make[5]: Entering directory `.../icinga2/icinga2-2.11.3/build'
[ 98%] Linking CXX executable ../Bin/RELEASE/icinga2
.../boost_1_72_0/lib/libboost_coroutine.a(coroutine_context.o): In function `boost::coroutines::detail::coroutine_context::coroutine_context(void (*)(boost::context::detail::transfer_t), boost::coroutines::detail::preallocated const&)':
coroutine_context.cpp:(.text+0x59): undefined reference to `make_fcontext'
.../boost_1_72_0/lib/libboost_coroutine.a(coroutine_context.o): In function `boost::coroutines::detail::coroutine_context::jump(boost::coroutines::detail::coroutine_context&, void*)':
coroutine_context.cpp:(.text+0xe8): undefined reference to `jump_fcontext'
collect2: error: ld returned 1 exit status
make[5]: *** [Bin/RELEASE/icinga2] Error 1
```

Signed-off-by: Sven Nierlein <sven@nierlein.de>
2020-03-10 10:37:57 +01:00
Michael Insel d051d71b75 ChocoInstall: Update script to use checksum verification 2020-03-03 18:48:11 +01:00
Michael Friedrich 44d1cefbf7 ChocoInstall: Prefer short release version download, not long x.y.z.a 2020-03-03 18:48:11 +01:00
Michael Friedrich e89fea12d5 Disable IcingaDB on Windows
Rationale: Masters running with IcingaDB are supported, agents are not.
2019-11-02 14:00:24 +01:00
Alexander Aleksandrovič Klimov 04dfbb07ce Rename ICINGA2_WITH_REDIS to ICINGA2_WITH_ICINGADB 2019-11-02 14:00:24 +01:00
Alexander A. Klimov 132b2dcb77 Get rid of hiredis 2019-11-02 14:00:24 +01:00
Michael Friedrich ddf2aea065 Compile redis into the icinga2 binary; apply more C++11 code changes 2019-11-02 14:00:23 +01:00
Gunnar Beutner b75e21a998 Redis support (WIP) 2019-11-02 14:00:23 +01:00
Michael Friedrich ac57ec3c67
Merge pull request #7434 from Icinga/bugfix/cmake-aix
CMake: Fix CXX flags for AIX
2019-08-27 13:04:03 +02:00
Michael Friedrich a99855be93 CMake: Fix LTO flags for shared linking 2019-08-20 20:52:51 +02:00
Michael Friedrich a6f8031a39 CMake: Fix CXX flags for AIX 2019-08-20 15:46:45 +02:00
Michael Friedrich c89ffe408d CMake: If target arch cannot be detected, don't throw an error
This only happens when ccache is improperly in use and -dumpmachine
doesn't work. Not on our ARM build platform.
2019-08-08 19:26:10 +02:00
Markus Frosch 8b877e2a9b cmake: Improve ICINGA2_VERSION_SAFE for pre-releases 2019-07-26 09:34:53 +02:00
Michael Friedrich bdc3a12524
Merge pull request #7299 from Icinga/bugfix/arm-atomic
CMake: Detect ARM target architecture and set required -latomic
2019-07-10 08:21:49 +02:00
Michael Friedrich 22668652c3 CMake: Detect ARM target architecture and set required -latomic 2019-07-09 12:11:25 +02:00
Michael Friedrich aabfcfef9e
Merge pull request #7065 from uubk/logrotate-fix
Fix logrotate "Operation not permitted"
2019-07-08 09:47:18 +02:00
Michael Insel 54d9470c6b Use WixNetFxExtension to detect installed .NET
This implements the use of the WixNetFxExtension for the WIX toolset, to
detect the installed .NET Framework version. If the installed .NET
version is lower than 4.6 the installation process will terminate with
the note to install at least .NET Framework 4.6.

refs #7090
2019-04-29 12:19:05 +02:00
Alexander A. Klimov 4ccc152990 Require Boost.Filesystem
refs #7101
2019-04-25 09:53:01 +02:00
Markus Frosch f70e215cc9 windows: Disable SAFESEH on x86 2019-04-05 09:03:04 +02:00
Markus Frosch 9f82faa439 cmake: Use the actual GIT_VERSION for ICINGA2_VERSION
And use a safe version with dots only for Windows.
2019-04-05 09:03:04 +02:00