@@ -27,24 +27,18 @@ include(MaximumWarnings)
2727include (ClangTidy)
2828
2929option (USE_LOCALE "Use C++ locale support" OFF )
30- option (USE_CXX17 "Use C++17 features" OFF )
31-
32- if (USE_CXX17)
33- # for std::from_chars()
34- add_definitions (-DSEXP_USE_CXX17)
35- endif ()
3630
3731if (USE_LOCALE)
3832 add_definitions (-DSEXP_USE_LOCALE)
3933endif ()
4034
35+ set (CMAKE_CXX_STANDARD 20)
36+ set (CMAKE_CXX_STANDARD_REQUIRED ON )
37+ set (CMAKE_CXX_EXTENSIONS OFF )
38+
4139file (GLOB SEXP_SOURCES src/*.cpp)
4240file (GLOB SEXP_HEADER_SOURCES include /sexp/*.hpp)
4341add_library (sexp STATIC ${SEXP_SOURCES} )
44- set_property (TARGET sexp
45- PROPERTY CXX_STANDARD 17
46- PROPERTY CXX_STANDARD_REQUIRED ON
47- PROPERTY CXX_EXTENSIONS OFF )
4842set_target_properties (sexp PROPERTIES PUBLIC_HEADER "${SEXP_HEADER_SOURCES} " )
4943target_compile_options (sexp PRIVATE ${WARNINGS_CXX_FLAGS} )
5044target_include_directories (sexp SYSTEM PUBLIC
@@ -65,10 +59,6 @@ if(BUILD_TESTS)
6559 # build sexp tests
6660 file (GLOB TEST_SEXP_SOURCES tests/*.cpp)
6761 add_executable (test_sexp ${TEST_SEXP_SOURCES} )
68- set_property (TARGET test_sexp
69- PROPERTY CXX_STANDARD 17
70- PROPERTY CXX_STANDARD_REQUIRED ON
71- PROPERTY CXX_EXTENSIONS OFF )
7262 target_compile_options (test_sexp PRIVATE ${WARNINGS_CXX_FLAGS} )
7363 target_include_directories (test_sexp PUBLIC src/)
7464 target_link_libraries (test_sexp
@@ -92,10 +82,6 @@ if(BUILD_BENCHMARKS)
9282 foreach (SOURCE ${BENCHMARKSOURCES} )
9383 get_filename_component (SOURCE_BASENAME ${SOURCE} NAME_WE )
9484 add_executable (${SOURCE_BASENAME} ${SOURCE} )
95- set_property (TARGET ${SOURCE_BASENAME}
96- PROPERTY CXX_STANDARD 17
97- PROPERTY CXX_STANDARD_REQUIRED ON
98- PROPERTY CXX_EXTENSIONS OFF )
9985 target_link_libraries (${SOURCE_BASENAME}
10086 sexp
10187 benchmark::benchmark
0 commit comments