From 390720dacc2323128013580abe2702025e1f634d Mon Sep 17 00:00:00 2001 From: Misa Date: Fri, 16 Apr 2021 19:42:26 -0700 Subject: [PATCH] Disable exceptions and RTTI in CMakeLists These are two C++ features that we don't need, don't use, and will never use in the future. Apparently the best way of doing this in CMake is to fiddle with the CXX_FLAGS using regex. Now this is one less flag I need to supply myself when I invoke CMake... --- desktop_version/CMakeLists.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/desktop_version/CMakeLists.txt b/desktop_version/CMakeLists.txt index 837a3973..1067f8ec 100644 --- a/desktop_version/CMakeLists.txt +++ b/desktop_version/CMakeLists.txt @@ -250,6 +250,24 @@ if(MSVC) target_compile_options(VVVVVV PRIVATE /wd4244) endif() +if(MSVC) + # Disable exceptions + string(REGEX REPLACE "/EH[a-z]+" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") + + # Disable RTTI + string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-") +else() + # Disable exceptions + string(REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") + + # Disable RTTI + string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") +endif() + # Unfortunately, it doesn't seem like distros package LodePNG add_library(lodepng-static STATIC ${PNG_SRC})