Skip to content

Commit 34b3ca3

Browse files
committed
Enable exception handling on occt release builds Fix IfcOpenShell#462
1 parent 08557c2 commit 34b3ca3

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

nix/build-all.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,7 @@ def build_dependency(name, mode, build_tool_args, download_url, download_name, d
479479
download_url = "https://git.dev.opencascade.org/repos/occt.git",
480480
download_name = "occt",
481481
download_tool=download_tool_git,
482+
patch="./patches/occt/enable-exception-handling.patch",
482483
revision="V%s" % OCCT_VERSION.replace('.', '_'))
483484
else:
484485
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,))
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Description: Enable exception handling
2+
Upstream defaults to no exception handling for performance reasons,
3+
but in OCCT's role as a shared library it's better for Debian to
4+
enable it.
5+
Author: Kurt Kremitzki <kkremitzki@gmail.com>
6+
Last-Update: 2018-06-10
7+
8+
--- a/adm/cmake/occt_defs_flags.cmake
9+
+++ b/adm/cmake/occt_defs_flags.cmake
10+
@@ -138,5 +138,5 @@
11+
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
12+
endif()
13+
14+
-set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
15+
-set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
16+
+#set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
17+
+#set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")

win/patches/V7_3_0.patch

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,20 @@ index fca978164..dda41e2c6 100644
1313

1414
# accumulate all used toolkits
1515
diff --git a/adm/cmake/occt_defs_flags.cmake b/adm/cmake/occt_defs_flags.cmake
16-
index 09da18d38..46e6e6814 100644
16+
index 09da18d38..a07b9cf74 100644
1717
--- a/adm/cmake/occt_defs_flags.cmake
1818
+++ b/adm/cmake/occt_defs_flags.cmake
19-
@@ -140,3 +140,18 @@ endif()
19+
@@ -138,5 +138,21 @@ if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR MINGW)
20+
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
21+
endif()
2022

21-
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
22-
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
23-
+
23+
-set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
24+
-set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
2425
+# IfcOpenShell begin
26+
+# https://salsa.debian.org/science-team/opencascade/blob/739e7e9c4fbe575165eb3ff0251774bfad27139e/debian/patches/enable-exception-handling.patch
27+
+# set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
28+
+# set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
29+
+
2530
+if (MSVC)
2631
+ foreach(flag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL
2732
+ CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE

0 commit comments

Comments
 (0)