Require C++20.

This commit is contained in:
Sadie Powell 2024-05-28 23:30:42 +01:00
parent 7a4fd3a556
commit ac07783762
4 changed files with 7 additions and 7 deletions

View File

@ -10,13 +10,13 @@ InspIRCd is a modular C++ Internet Relay Chat (IRC) server for UNIX-like and Win
InspIRCd is supported on the following platforms: InspIRCd is supported on the following platforms:
- Most recent BSD variants using the Clang 5+ or GCC 7+ compilers and the GNU toolchains (Make, etc). - Most recent BSD variants using the Clang 10+ or GCC 10+ compilers and the GNU toolchains (Make, etc).
- Most recent Linux distributions using the Clang 5+ or GCC 7+ compilers and the GNU toolchain. - Most recent Linux distributions using the Clang 10+ or GCC 10+ compilers and the GNU toolchain.
- The most recent three major releases of macOS using the AppleClang 10, Clang 5+, or GCC 7+ (*not* LLVM-GCC) compilers and the GNU toolchain. - The most recent three major releases of macOS using the AppleClang 12, Clang 10+, or GCC 10+ compilers and the GNU toolchain.
- Windows 10 build 17061 or newer using the MSVC 19.15+ (Visual Studio 15.8 2017) compiler and CMake 3.20 or newer. - Windows 10 build 17061 or newer using the MSVC 19.29+ (Visual Studio 16.10 2019) compiler and CMake 3.20 or newer.
Other platforms and toolchains may also work but are not officially supported by the InspIRCd team. Generally speaking if you are using a reasonably modern UNIX-like system you should be able to build InspIRCd on it. If you can not and you wish to submit a patch we are happy to accept it as long as it is not extremely large. Other platforms and toolchains may also work but are not officially supported by the InspIRCd team. Generally speaking if you are using a reasonably modern UNIX-like system you should be able to build InspIRCd on it. If you can not and you wish to submit a patch we are happy to accept it as long as it is not extremely large.

View File

@ -213,7 +213,7 @@ sub test_file($$;$) {
my ($compiler, $file, $args) = @_; my ($compiler, $file, $args) = @_;
my $status = 0; my $status = 0;
$args //= ''; $args //= '';
$status ||= system "$compiler -std=c++17 -o ${\CONFIGURE_ROOT}/__test_$file ${\CONFIGURE_ROOT}/make/test/$file $args ${\CONFIGURE_ERROR_PIPE}"; $status ||= system "$compiler -std=c++20 -o ${\CONFIGURE_ROOT}/__test_$file ${\CONFIGURE_ROOT}/make/test/$file $args ${\CONFIGURE_ERROR_PIPE}";
$status ||= system "${\CONFIGURE_ROOT}/__test_$file ${\CONFIGURE_ERROR_PIPE}"; $status ||= system "${\CONFIGURE_ROOT}/__test_$file ${\CONFIGURE_ERROR_PIPE}";
unlink "${\CONFIGURE_ROOT}/__test_$file"; unlink "${\CONFIGURE_ROOT}/__test_$file";
return !$status; return !$status;

View File

@ -39,7 +39,7 @@
# #
CXX = @CXX@ -std=c++17 CXX = @CXX@ -std=c++20
COMPILER = @COMPILER_NAME@ COMPILER = @COMPILER_NAME@
SYSTEM = @SYSTEM_NAME@ SYSTEM = @SYSTEM_NAME@
SOURCEPATH = @SOURCE_DIR@ SOURCEPATH = @SOURCE_DIR@

View File

@ -44,7 +44,7 @@ set(CMAKE_MODULE_PATH "${INSPIRCD_BASE}/win")
# Require C++17 # Require C++17
set(CMAKE-CXX_EXTENSIONS OFF) set(CMAKE-CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD "17") set(CMAKE_CXX_STANDARD "20")
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Put modules in their own folder # Put modules in their own folder