From: Manuel Nickschas Date: Tue, 10 Apr 2018 20:18:33 +0000 (+0200) Subject: cmake: Add exception handling support to MSVC compile flags X-Git-Tag: 0.12.5~6 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=bdeeb5d619255389a64f43ad69de862c79046116 cmake: Add exception handling support to MSVC compile flags Since STL types may throw, MSVC needs to get told to support exceptions by specifying the /EHsc flag. Otherwise, it warns about the lack thereof, even though Quassel itself does not use nor handle exceptions. Closes GH-350. (cherry picked from commit 7a8ea3eee1dcff4eaa5398d1cf5739fa32eccd9e) --- diff --git a/cmake/QuasselCompileSettings.cmake b/cmake/QuasselCompileSettings.cmake index 9f3e00a7..f48dfb28 100644 --- a/cmake/QuasselCompileSettings.cmake +++ b/cmake/QuasselCompileSettings.cmake @@ -66,12 +66,15 @@ elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-function -Wno-undef -fno-strict-aliasing") -# For MSVC, at least do a version sanity check +# For MSVC, at least do a version sanity check... elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC") if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "18.0") message(WARNING "Your compiler is too old; we expect at least Visual Studio Nov 2013 CTP (MSVC 18). Your build will likely fail.") endif() + # ... and enable exception handling (required for STL types) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") + # Unknown/unsupported compiler else() message(WARNING "Unknown or unsupported compiler. Make sure to enable C++11 support. Good luck.")