mirror of
https://github.com/Icinga/icinga2.git
synced 2025-04-08 17:05:25 +02:00
Require C++14
This commit is contained in:
parent
9284e67aa2
commit
1d67a3dcf3
@ -2,6 +2,8 @@
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.8)
|
||||
set(BOOST_MIN_VERSION "1.66.0")
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
project(icinga2)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
@ -395,8 +397,6 @@ if(MSVC)
|
||||
endif()
|
||||
|
||||
if(NOT MSVC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
|
||||
|
||||
check_cxx_source_compiles("class Base { public: virtual void test(void) { } }; class Derived : public Base { virtual void test(void) override { } }; int main(){}" CXX_FEATURE_OVERRIDE)
|
||||
|
||||
if(NOT CXX_FEATURE_OVERRIDE)
|
||||
|
@ -697,7 +697,7 @@ Read more about it in the [Technical Concepts](19-technical-concepts.md#technica
|
||||
|
||||
#### Get to know the code <a id="development-develop-get-to-know-the-code"></a>
|
||||
|
||||
First off, you really need to know C++ and portions of C++11 and the boost libraries.
|
||||
First off, you really need to know C++ and portions of C++14 and the boost libraries.
|
||||
Best is to start with a book or online tutorial to get into the basics.
|
||||
Icinga developers gained their knowledge through studies, training and self-teaching
|
||||
code by trying it out and asking senior developers for guidance.
|
||||
@ -1138,7 +1138,7 @@ for formatting, splitting strings, joining arrays into strings, etc.
|
||||
Use the existing libraries and header-only includes
|
||||
for this specific version.
|
||||
|
||||
Note: Prefer C++11 features where possible, e.g. std::atomic and lambda functions.
|
||||
Note: Prefer C++14 features where possible, e.g. std::atomic and lambda functions.
|
||||
|
||||
General:
|
||||
|
||||
@ -1185,7 +1185,7 @@ If you consider an external library or code to be included with Icinga, the foll
|
||||
requirements must be fulfilled:
|
||||
|
||||
- License is compatible with GPLv2+. Boost license, MIT works, Apache is not.
|
||||
- C++11 is supported, C++14 or later doesn't work
|
||||
- C++14 is supported
|
||||
- Header only implementations are preferred, external libraries require packages on every distribution.
|
||||
- No additional frameworks, Boost is the only allowed.
|
||||
- The code is proven to be robust and the GitHub repository is alive, or has 1k+ stars. Good libraries also provide a user list, if e.g. Ceph is using it, this is a good candidate.
|
||||
@ -2172,7 +2172,7 @@ Icinga application using a dist tarball (including notes for distributions):
|
||||
|
||||
* cmake >= 2.6
|
||||
* GNU make (make) or ninja-build
|
||||
* C++ compiler which supports C++11
|
||||
* C++ compiler which supports C++14
|
||||
* RHEL/Fedora/SUSE: gcc-c++ >= 6.3 (extra Developer Tools on RHEL7 see below)
|
||||
* Debian/Ubuntu: build-essential
|
||||
* Alpine: build-base
|
||||
|
Loading…
x
Reference in New Issue
Block a user