Skip to content

Commit

Permalink
This branch requires C++23 now
Browse files Browse the repository at this point in the history
  • Loading branch information
morzhovets committed Dec 25, 2024
1 parent 842f9d3 commit df031ea
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 58 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ target_include_directories(momo INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)

target_compile_features(momo INTERFACE cxx_std_20)
target_compile_features(momo INTERFACE cxx_std_23)

install(DIRECTORY include/momo DESTINATION include)

Expand Down
36 changes: 0 additions & 36 deletions CMakeSettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,42 +72,6 @@
"cmakeCommandArgs": "-DMOMO_TEST=ON -DCMAKE_CXX_STANDARD=23",
"buildCommandArgs": "-v"
},
{
"name": "x64-cpp20-Debug",
"generator": "Ninja",
"inheritEnvironments": [ "msvc_x64" ],
"configurationType": "Debug",
"buildRoot": "${projectDir}\\build\\${name}",
"cmakeCommandArgs": "-DMOMO_TEST=ON -DCMAKE_CXX_STANDARD=20",
"buildCommandArgs": "-v"
},
{
"name": "x64-cpp20-Release",
"generator": "Ninja",
"inheritEnvironments": [ "msvc_x64" ],
"configurationType": "RelWithDebInfo",
"buildRoot": "${projectDir}\\build\\${name}",
"cmakeCommandArgs": "-DMOMO_TEST=ON -DCMAKE_CXX_STANDARD=20",
"buildCommandArgs": "-v"
},
{
"name": "x64-2019-Debug",
"generator": "Visual Studio 16",
"inheritEnvironments": [],
"configurationType": "Debug",
"buildRoot": "${projectDir}\\build\\${name}",
"cmakeCommandArgs": "-DMOMO_TEST=ON -DCMAKE_CXX_STANDARD=20",
"buildCommandArgs": ""
},
{
"name": "x64-2019-Release",
"generator": "Visual Studio 16",
"inheritEnvironments": [],
"configurationType": "RelWithDebInfo",
"buildRoot": "${projectDir}\\build\\${name}",
"cmakeCommandArgs": "-DMOMO_TEST=ON -DCMAKE_CXX_STANDARD=20",
"buildCommandArgs": ""
},
{
"name": "x64-2022-Debug",
"generator": "Visual Studio 17",
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
[![GCC](https://github.com/morzhovets/momo/actions/workflows/gcc.yml/badge.svg?branch=master)](https://github.com/morzhovets/momo/actions/workflows/gcc.yml?query=branch%3Amaster)
[![Clang](https://github.com/morzhovets/momo/actions/workflows/clang.yml/badge.svg?branch=master)](https://github.com/morzhovets/momo/actions/workflows/clang.yml?query=branch%3Amaster)

This is an experimental branch that requires a compiler with C++20 support.
This is an experimental branch that requires a compiler with C++23 support.
[Here](https://github.com/morzhovets/momo/tree/branch_cpp11) is a stable branch requiring only C++11.

#### momo (Memory Optimization is the Main Objective)
Expand Down Expand Up @@ -70,8 +70,8 @@ Some examples are [here](https://github.com/morzhovets/momo/blob/master/test/sou

#### Supported compilers

- MS Visual C++ (19.29+, Visual Studio 2019 16.10+) with /std:c++20
- MS Visual C++ (19.42+, Visual Studio 2022 17.12+) with /std:c++latest

- GCC (10+) with -std=c++20
- GCC (14+) with -std=c++23

- Clang (12+) with -std=c++20
- Clang (18+) with -std=c++23
2 changes: 1 addition & 1 deletion test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ project(momo_test
file(GLOB MOMO_TEST_SOURCES CONFIGURE_DEPENDS "sources/*.cpp")
add_executable(momo_test ${MOMO_TEST_SOURCES})

target_compile_features(momo_test PRIVATE cxx_std_20)
target_compile_features(momo_test PRIVATE cxx_std_23)

if(NOT (${CMAKE_VERSION} VERSION_LESS "3.16"))
target_precompile_headers(momo_test PRIVATE "sources/pch.h")
Expand Down
32 changes: 16 additions & 16 deletions test/projects/CodeBlocks/momo.cbp
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug GCC C++20">
<Option output="bin/Debug GCC C++20/momo" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Debug GCC C++20/" />
<Target title="Debug GCC C++23">
<Option output="bin/Debug GCC C++23/momo" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Debug GCC C++23/" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-pedantic" />
<Add option="-std=c++20" />
<Add option="-std=c++23" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-g" />
Expand All @@ -23,15 +23,15 @@
<Add option="-msse2" />
</Compiler>
</Target>
<Target title="Release GCC C++20">
<Option output="bin/Release GCC C++20/momo" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release GCC C++20/" />
<Target title="Release GCC C++23">
<Option output="bin/Release GCC C++23/momo" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release GCC C++23/" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-O3" />
<Add option="-pedantic" />
<Add option="-std=c++20" />
<Add option="-std=c++23" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-Wold-style-cast" />
Expand All @@ -44,34 +44,34 @@
<Add option="-s" />
</Linker>
</Target>
<Target title="Debug Clang C++20">
<Option output="bin/Debug Clang C++20/momo" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Debug Clang C++20/" />
<Target title="Debug Clang C++23">
<Option output="bin/Debug Clang C++23/momo" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Debug Clang C++23/" />
<Option type="1" />
<Option compiler="clang" />
<Compiler>
<Add option="-pedantic" />
<Add option="-Wall" />
<Add option="-Wextra" />
<Add option="-std=c++20" />
<Add option="-std=c++23" />
<Add option="-g" />
<Add option="-Wold-style-cast" />
<Add option="-Wsign-conversion" />
<Add option="-Wno-unused-local-typedefs" />
<Add option="-msse2" />
</Compiler>
</Target>
<Target title="Release Clang C++20">
<Option output="bin/Release Clang C++20/momo" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release Clang C++20/" />
<Target title="Release Clang C++23">
<Option output="bin/Release Clang C++23/momo" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release Clang C++23/" />
<Option type="1" />
<Option compiler="clang" />
<Compiler>
<Add option="-O3" />
<Add option="-pedantic" />
<Add option="-Wall" />
<Add option="-Wextra" />
<Add option="-std=c++20" />
<Add option="-std=c++23" />
<Add option="-Wold-style-cast" />
<Add option="-Wsign-conversion" />
<Add option="-Wno-unused-local-typedefs" />
Expand Down

0 comments on commit df031ea

Please sign in to comment.