@@ -50,10 +50,10 @@ option(WITH_STL "Whether to use Standard Library for C++latest features" OFF)
50
50
option (WITH_ABSEIL "Whether to use Abseil for C++latest features" OFF )
51
51
52
52
if (WITH_ABSEIL)
53
- add_definitions (-DHAVE_ABSEIL)
54
53
find_package (absl CONFIG REQUIRED)
55
54
56
- set (CORE_RUNTIME_LIBS absl::any absl::base absl::bits absl::city)
55
+ set (CORE_RUNTIME_LIBS absl::bad_variant_access absl::any absl::base
56
+ absl::bits absl::city)
57
57
58
58
# target_link_libraries(main PRIVATE absl::any absl::base absl::bits
59
59
# absl::city)
@@ -67,7 +67,7 @@ if(WITH_STL)
67
67
add_definitions (-DHAVE_CPP_STDLIB)
68
68
add_definitions (-DHAVE_GSL)
69
69
# Require at least C++17. C++20 is needed to avoid gsl::span
70
- if (CMAKE_MINOR_VERSION VERSION_GREATER " 3.18" )
70
+ if (CMAKE_VERSION VERSION_GREATER 3.18.0 )
71
71
# Ask for 20, may get anything below
72
72
set (CMAKE_CXX_STANDARD 20)
73
73
else ()
@@ -92,8 +92,7 @@ if(WITH_STL)
92
92
set (MSVC_CXX_OPT_FLAG "/O2" )
93
93
endif ()
94
94
endif ()
95
- set (CMAKE_CXX_FLAGS
96
- "${CMAKE_CXX_FLAGS} /Zc:__cplusplus ${MSVC_CXX_OPT_FLAG} " )
95
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MSVC_CXX_OPT_FLAG} " )
97
96
endif ()
98
97
endif ()
99
98
@@ -168,8 +167,10 @@ if(MSVC)
168
167
# Options for Visual C++ compiler: /Zc:__cplusplus - report an updated value
169
168
# for recent C++ language standards. Without this option MSVC returns the
170
169
# value of __cplusplus="199711L"
171
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus" )
172
-
170
+ if (MSVC_VERSION GREATER 1900)
171
+ # __cplusplus flag is not supported by Visual Studio 2015
172
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus" )
173
+ endif ()
173
174
# When using vcpkg, all targets build with the same runtime
174
175
if (VCPKG_TOOLCHAIN)
175
176
set (CMAKE_MSVC_RUNTIME_LIBRARY
0 commit comments