------------------------------------------------------------------------ r10784 | aschai | 2015-06-11 14:49:51 +0200 (Thu, 11 Jun 2015) | 15 lines Enable C++ exceptions on GCC Linux, and formerly also FreeBSD and *BSD had explicitly disabled C++ exceptions via FindKDE4Internal.cmake and it's predecesor, FindKDE4.cmake, which resided in a different path originally. The Disabling was around for the whole history of the file so there's no statement on why this was introduced - I assume considerations about the library ABI were the reason. When using clang, C++ exceptions are not explicitly disabled, so restore the default behaviour of GCC, which is allowing them. This fixes the recent breaking of libkdcraw after the libraw update of PORTS revision 388490. PR: 200734 Index: x11/kdelibs4/files/patch-cmake_modules_FindKDE4Internal.cmake =================================================================== --- x11/kdelibs4/files/patch-cmake_modules_FindKDE4Internal.cmake (revision 10783) +++ x11/kdelibs4/files/patch-cmake_modules_FindKDE4Internal.cmake (revision 10784) @@ -1,6 +1,6 @@ ---- cmake/modules/FindKDE4Internal.cmake.orig 2013-05-28 21:33:13.000000000 +0300 -+++ cmake/modules/FindKDE4Internal.cmake 2013-06-23 15:03:18.000000000 +0300 -@@ -893,8 +893,8 @@ +--- cmake/modules/FindKDE4Internal.cmake.orig 2014-11-06 23:33:50.000000000 +0100 ++++ cmake/modules/FindKDE4Internal.cmake 2015-06-11 13:23:05.677195502 +0200 +@@ -898,8 +898,8 @@ _set_fancy(XDG_MIME_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/mime/packages" "The install dir for the xdg mimetypes") _set_fancy(SYSCONF_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/etc" "The sysconfig install dir (default ${CMAKE_INSTALL_PREFIX}/etc)") @@ -11,4 +11,12 @@ _set_fancy(DBUS_INTERFACES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/dbus-1/interfaces" "The dbus interfaces install dir (default ${SHARE_INSTALL_PREFIX}/dbus-1/interfaces)") _set_fancy(DBUS_SERVICES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/dbus-1/services" "The dbus services install dir (default ${SHARE_INSTALL_PREFIX}/dbus-1/services)") _set_fancy(DBUS_SYSTEM_SERVICES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/dbus-1/system-services" "The dbus system services install dir (default ${SHARE_INSTALL_PREFIX}/dbus-1/system-services)") - +@@ -1211,7 +1211,7 @@ + + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -std=iso9899:1990 -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common") + # As of Qt 4.6.x we need to override the new exception macros if we want compile with -fno-exceptions +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-check-new -fno-common") + + if (CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME STREQUAL GNU) + # This should not be needed, as it is also part of _KDE4_PLATFORM_DEFINITIONS below. ------------------------------------------------------------------------