From e0095cd446757db1b1e5308f7a731dc833310a27 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 20 Sep 2024 20:49:22 +0200 Subject: [PATCH] occt 7.8.1 #4924 --- nix/build-all.py | 5 +- nix/patches/occt/no_ExpToCasExe_7_8_1.patch | 13 ++++ win/build-deps.cmd | 2 +- win/patches/V7_8_1.patch | 86 +++++++++++++++++++++ 4 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 nix/patches/occt/no_ExpToCasExe_7_8_1.patch create mode 100644 win/patches/V7_8_1.patch diff --git a/nix/build-all.py b/nix/build-all.py index 756b6b3c1b..a4b43935b7 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -81,7 +81,7 @@ ADD_COMMIT_SHA = os.getenv("ADD_COMMIT_SHA") PYTHON_VERSIONS = ["3.9.11", "3.10.3", "3.11.8", "3.12.1"] JSON_VERSION = "v3.6.1" OCE_VERSION = "0.18.3" -OCCT_VERSION = "7.7.2" +OCCT_VERSION = "7.8.1" BOOST_VERSION = "1.80.0" PCRE_VERSION = "8.41" LIBXML2_VERSION = "2.9.11" @@ -590,6 +590,9 @@ if USE_OCCT and "occ" in targets: if OCCT_VERSION == "7.7.2": patches.append("./patches/occt/no_ExpToCasExe_7_7_2.patch") + + if OCCT_VERSION == "7.8.1": + patches.append("./patches/occt/no_ExpToCasExe_7_8_1.patch") if "wasm" in flags: patches.append("./patches/occt/no_em_js.patch") diff --git a/nix/patches/occt/no_ExpToCasExe_7_8_1.patch b/nix/patches/occt/no_ExpToCasExe_7_8_1.patch new file mode 100644 index 0000000000..63d6fd3206 --- /dev/null +++ b/nix/patches/occt/no_ExpToCasExe_7_8_1.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86905287dc..9d0bce984c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -828,6 +828,8 @@ else() + OCCT_CHECK_AND_UNSET ("3RDPARTY_DOT_EXECUTABLE") + endif() + ++list (REMOVE_ITEM BUILD_TOOLKITS ExpToCasExe) ++ + # bison + if (BUILD_YACCLEX) + OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/bison") diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 47f49da44c..27285121b6 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -169,7 +169,7 @@ cd "%DEPS_DIR%" :: VERSIONS set HDF5_VERSION=1.8.22 set HDF5_VERSION_MAJOR=1.8 -set OCCT_VERSION=7.7.2 +set OCCT_VERSION=7.8.1 :: NOTE If updating the default Python version, change PY_VER_MAJOR_MINOR accordingly in run-cmake.bat set PYTHON_VERSION=3.11.7 diff --git a/win/patches/V7_8_1.patch b/win/patches/V7_8_1.patch new file mode 100644 index 0000000000..842a52bad6 --- /dev/null +++ b/win/patches/V7_8_1.patch @@ -0,0 +1,86 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86905287dc..5a3a0a4eeb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -440,6 +440,10 @@ else() + set (USE_D3D OFF) + endif() + ++# IfcOpenShell begin ++add_definitions(-DHAVE_NO_DLL) ++# IfcOpenShell end ++ + # Enable/Disable the floating point exceptions (FPE) during runtime. + if (NOT BUILD_ENABLE_FPE_SIGNAL_HANDLER) + set (BUILD_ENABLE_FPE_SIGNAL_HANDLER OFF CACHE BOOL "${BUILD_ENABLE_FPE_SIGNAL_HANDLER_DESCR}" FORCE) +@@ -828,6 +832,8 @@ else() + OCCT_CHECK_AND_UNSET ("3RDPARTY_DOT_EXECUTABLE") + endif() + ++list (REMOVE_ITEM BUILD_TOOLKITS ExpToCasExe) ++ + # bison + if (BUILD_YACCLEX) + OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/bison") +diff --git a/adm/cmake/occt_defs_flags.cmake b/adm/cmake/occt_defs_flags.cmake +index 3d989abcd4..9c063a5c0d 100644 +--- a/adm/cmake/occt_defs_flags.cmake ++++ b/adm/cmake/occt_defs_flags.cmake +@@ -185,7 +185,23 @@ elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX) + set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s") + endif() + +-if (BUILD_RELEASE_DISABLE_EXCEPTIONS) +- set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception") +- set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception") +-endif() ++# IfcOpenShell begin ++# https://salsa.debian.org/science-team/opencascade/blob/739e7e9c4fbe575165eb3ff0251774bfad27139e/debian/patches/enable-exception-handling.patch ++# if (BUILD_RELEASE_DISABLE_EXCEPTIONS) ++# set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception") ++# set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception") ++# endif() ++ ++if (MSVC AND MSVC_STATIC_RUNTIME) ++ 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 ++ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) ++ if (${flag} MATCHES "/MD") ++ string(REGEX REPLACE "/MD" "/MT" ${flag} "${${flag}}") ++ endif() ++ if (${flag} MATCHES "/MDd") ++ string(REGEX REPLACE "/MDd" "/MTd" ${flag} "${${flag}}") ++ endif() ++ endforeach() ++endif() ++# IfcOpenShell end +diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake +index c9399159f1..0aa55392f9 100644 +--- a/adm/cmake/occt_toolkit.cmake ++++ b/adm/cmake/occt_toolkit.cmake +@@ -284,15 +284,22 @@ else() + else() + set (aReleasePdbConf) + endif() ++ # IfcOpenShell begin + if (BUILD_SHARED_LIBS) + install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb + CONFIGURATIONS Debug ${aReleasePdbConf} RelWithDebInfo + DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}") + else() +- install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb +- CONFIGURATIONS Debug ${aReleasePdbConf} RelWithDebInfo +- DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}") ++ set_target_properties (${PROJECT_NAME} PROPERTIES ++ COMPILE_PDB_NAME ${PROJECT_NAME} ++ COMPILE_PDB_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/pdb/ ++ ) ++ ++ install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/pdb/\${CMAKE_INSTALL_CONFIG_NAME}/${PROJECT_NAME}.pdb ++ CONFIGURATIONS Debug ${aReleasePdbConf} RelWithDebInfo ++ DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}") + endif() ++ # IfcOpenShell end + endif() + + if (BUILD_SHARED_LIBS AND NOT "${BUILD_SHARED_LIBRARY_NAME_POSTFIX}" STREQUAL "")