From 34b3ca307fba0e8afb7512bf65f92eb0c5808a07 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 18 Sep 2018 13:39:44 +0200 Subject: [PATCH] Enable exception handling on occt release builds Fix #462 --- nix/build-all.py | 1 + .../occt/enable-exception-handling.patch | 17 +++++++++++++++++ win/patches/V7_3_0.patch | 15 ++++++++++----- 3 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 nix/patches/occt/enable-exception-handling.patch diff --git a/nix/build-all.py b/nix/build-all.py index 2279801d02..7a96d2fbaf 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -479,6 +479,7 @@ if USE_OCCT: download_url = "https://git.dev.opencascade.org/repos/occt.git", download_name = "occt", download_tool=download_tool_git, + patch="./patches/occt/enable-exception-handling.patch", revision="V%s" % OCCT_VERSION.replace('.', '_')) else: build_dependency(name="oce-%s" % (OCE_VERSION,), mode="cmake", build_tool_args=["-DOCE_DISABLE_TKSERVICE_FONT=ON", "-DOCE_TESTING=OFF", "-DOCE_BUILD_SHARED_LIB=OFF", "-DOCE_DISABLE_X11=ON", "-DOCE_VISUALISATION=OFF", "-DOCE_OCAF=OFF", "-DOCE_INSTALL_PREFIX=%s/install/oce-%s" % (DEPS_DIR, OCE_VERSION)], download_url="https://github.com/tpaviot/oce/archive/", download_name="OCE-%s.tar.gz" % (OCE_VERSION,)) diff --git a/nix/patches/occt/enable-exception-handling.patch b/nix/patches/occt/enable-exception-handling.patch new file mode 100644 index 0000000000..7b9b3567fd --- /dev/null +++ b/nix/patches/occt/enable-exception-handling.patch @@ -0,0 +1,17 @@ +Description: Enable exception handling + Upstream defaults to no exception handling for performance reasons, + but in OCCT's role as a shared library it's better for Debian to + enable it. +Author: Kurt Kremitzki +Last-Update: 2018-06-10 + +--- a/adm/cmake/occt_defs_flags.cmake ++++ b/adm/cmake/occt_defs_flags.cmake +@@ -138,5 +138,5 @@ + set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s") + endif() + +-set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception") +-set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception") ++#set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception") ++#set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception") diff --git a/win/patches/V7_3_0.patch b/win/patches/V7_3_0.patch index c596253ec4..efc9154b75 100644 --- a/win/patches/V7_3_0.patch +++ b/win/patches/V7_3_0.patch @@ -13,15 +13,20 @@ index fca978164..dda41e2c6 100644 # accumulate all used toolkits diff --git a/adm/cmake/occt_defs_flags.cmake b/adm/cmake/occt_defs_flags.cmake -index 09da18d38..46e6e6814 100644 +index 09da18d38..a07b9cf74 100644 --- a/adm/cmake/occt_defs_flags.cmake +++ b/adm/cmake/occt_defs_flags.cmake -@@ -140,3 +140,18 @@ endif() +@@ -138,5 +138,21 @@ if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR MINGW) + set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s") + endif() - set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception") - set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception") -+ +-set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception") +-set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception") +# IfcOpenShell begin ++# https://salsa.debian.org/science-team/opencascade/blob/739e7e9c4fbe575165eb3ff0251774bfad27139e/debian/patches/enable-exception-handling.patch ++# set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception") ++# set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception") ++ +if (MSVC) + foreach(flag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL + CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE