diff --git a/README.md b/README.md index a60ed923..ba58fead 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ Windows build information can be found [here](build/win32/README.md). ## Dependencies -This library is written in C++ using the C++17 standards. It also uses Flex +This library is written in C++ using the C++20 standards. It also uses Flex and Yacc to produce the “Sec Rules Language” parser. Other, mandatory dependencies include YAJL, as ModSecurity uses JSON for producing logs and its testing framework, libpcre (not yet mandatory) for processing regular expressions in SecRules, and libXML2 (not yet mandatory) which is used for parsing XML requests. All others dependencies are related to operators specified within SecRules or configuration directives and may not be required for compilation. A short list of such dependencies is as follows: diff --git a/build/win32/CMakeLists.txt b/build/win32/CMakeLists.txt index fbf39f08..242c5fe8 100644 --- a/build/win32/CMakeLists.txt +++ b/build/win32/CMakeLists.txt @@ -77,7 +77,7 @@ project(libModSecurity CXX ) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED On) set(CMAKE_CXX_EXTENSIONS Off) diff --git a/configure.ac b/configure.ac index 7a78bb6c..4ae11166 100644 --- a/configure.ac +++ b/configure.ac @@ -53,7 +53,7 @@ PKG_PROG_PKG_CONFIG # Set C++ standard version and check if compiler supports it. -AX_CXX_COMPILE_STDCXX(17, noext, mandatory) +AX_CXX_COMPILE_STDCXX(20, noext, mandatory) # Check for libinjection if ! test -f "${srcdir}/others/libinjection/src/libinjection_html5.c"; then diff --git a/vcbuild.bat b/vcbuild.bat index b24572ab..6fce6a7c 100644 --- a/vcbuild.bat +++ b/vcbuild.bat @@ -20,7 +20,7 @@ if "%3"=="USE_ASAN" ( ) cd build\win32 -conan install . -s compiler.cppstd=17 %CI_ASAN% --output-folder=build --build=missing --settings=build_type=%build_type% --settings=arch=%arch% +conan install . -s compiler.cppstd=20 %CI_ASAN% --output-folder=build --build=missing --settings=build_type=%build_type% --settings=arch=%arch% cd build cmake --fresh .. -G "Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DUSE_ASAN=%ASAN_FLAG% %4 %5 %6 %7 %8 %9 cmake --build . --config %build_type%