aboutsummaryrefslogtreecommitdiffstats
path: root/build_settings.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'build_settings.cmake')
-rw-r--r--build_settings.cmake4
1 files changed, 4 insertions, 0 deletions
diff --git a/build_settings.cmake b/build_settings.cmake
index fc4ba131969..9192f163a9b 100644
--- a/build_settings.cmake
+++ b/build_settings.cmake
@@ -115,6 +115,10 @@ endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcoroutines")
endif()
+if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 17.0)
+ # Turn off dynamic_cast optimization that came with clang 17.0.1
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-assume-unique-vtables")
+endif()
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGOOGLE_PROTOBUF_NO_RDTSC")
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15.0)