diff --git a/nix/build-all.py b/nix/build-all.py index 0a94b68e87..1b715c555a 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -520,6 +520,7 @@ if USE_OCCT and "occ" in targets: 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" + OCCT_VERSION.replace('.', '_') ) elif "occ" in targets: 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