From 673d32acddf58cce02525243d9eb0057b372c0e2 Mon Sep 17 00:00:00 2001 From: Nigel Stewart Date: Fri, 19 Jul 2013 09:32:47 -0500 Subject: [PATCH 1/1] Build: Disable RTTI support at build-time to discourage the use of dynamic_cast, etc --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index d819be2..be49327 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,6 +108,9 @@ if (MSVC) # C99 includes for MSVC include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/msinttypes) + # No RTTI required + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-") + # Enable math constants defines add_definitions (-D_USE_MATH_DEFINES) @@ -144,6 +147,9 @@ else () # XXX: it's safer to use ssize_t everywhere instead of disabling warning add_definitions (-Wno-sign-compare) # comparison between signed and unsigned integer expressions + # No RTTI required + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") + # Use GDB extensions if available if (CMAKE_COMPILER_IS_GNUC) set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -O0") -- 2.43.0