Skip to content

Commit cc47184

Browse files
Merge pull request #8 from OpenRCT2/cpp20
Compile source as C++20
2 parents 588549a + 10ec4fa commit cc47184

File tree

4 files changed

+24
-17
lines changed

4 files changed

+24
-17
lines changed

CMakeLists.txt

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,13 @@ option(ENABLE_TESTS "Build the unit tests for the library." ON)
1313
project(sawyer CXX)
1414
enable_testing()
1515

16-
set(CMAKE_CXX_STANDARD 17)
16+
if (MSVC)
17+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /std:c++20 /utf-8 /Zc:char8_t- /WX")
18+
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
19+
else ()
20+
set(CMAKE_CXX_STANDARD 20)
21+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-char8_t -Wno-deprecated-declarations")
22+
endif ()
1723

1824
file(GLOB_RECURSE SAWYER_SOURCES "src/*.cpp")
1925
file(GLOB_RECURSE SAWYER_HEADERS "src/*.h" "src/*.hpp")
@@ -34,13 +40,6 @@ if (ENABLE_LIBPNG)
3440
endif ()
3541
endif ()
3642

37-
if (MSVC)
38-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /std:c++17 /utf-8 /WX")
39-
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
40-
else ()
41-
42-
endif ()
43-
4443
# set_target_properties(sawyer PROPERTIES PUBLIC_HEADER "src/SawyerStream.h;src\\thirdparty/span.hpp")
4544

4645
string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_UPPER)

tools/fsaw/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
cmake_minimum_required(VERSION 3.15)
22
project(fsaw CXX)
33

4-
set(CMAKE_CXX_STANDARD 17)
4+
find_package(sawyer REQUIRED PATHS ../../out/share)
55

66
file(GLOB_RECURSE SAWYER_SOURCES "src/*.cpp")
77

88
if (MSVC)
9-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /std:c++17 /utf-8 /WX")
9+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /std:c++20 /utf-8 /Zc:char8_t- /WX")
1010
else ()
11-
11+
set(CMAKE_CXX_STANDARD 20)
12+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-char8_t -Wno-deprecated-declarations")
1213
endif ()
1314

1415
# libsawyer

tools/gxc/CMakeLists.txt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
cmake_minimum_required(VERSION 3.15)
22
project(gxc CXX)
33

4-
set(CMAKE_CXX_STANDARD 17)
5-
64
file(GLOB_RECURSE SAWYER_SOURCES "src/*.cpp")
75

86
if (MSVC)
9-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /std:c++17 /utf-8 /WX")
7+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /std:c++20 /utf-8 /Zc:char8_t- /WX")
108
else ()
11-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libstdc++")
9+
set(CMAKE_CXX_STANDARD 20)
10+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libstdc++ -fno-char8_t -Wno-deprecated-declarations")
1211
if (EXISTS "/etc/alpine-release")
13-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc")
12+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libstdc++ -static-libgcc")
1413
endif()
1514
endif ()
1615

tools/gxc/vcpkg.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,13 @@
44
"dependencies": [
55
"libpng",
66
"nlohmann-json"
7-
]
7+
],
8+
"overrides": [
9+
{
10+
"name": "nlohmann-json",
11+
"$explanation": "3.12.0 contains a major issue related to utf8 strings. Should be fixed when 3.12.1 releases",
12+
"version": "3.11.3#1"
13+
}
14+
],
15+
"builtin-baseline": "120deac3062162151622ca4860575a33844ba10b"
816
}

0 commit comments

Comments
 (0)