diff --git a/nix/build-all.py b/nix/build-all.py index 019da07fa8..768c2d171d 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -69,7 +69,7 @@ OCE_VERSION="0.18" PYTHON_VERSIONS=["2.7.16", "3.2.6", "3.3.6", "3.4.6", "3.5.3", "3.6.2"] # OCCT_VERSION="7.2.0" # OCCT_HASH="88af392" -OCCT_VERSION="7.3.0" +OCCT_VERSION="7.3.0p3" BOOST_VERSION="1.59.0" PCRE_VERSION="8.39" LIBXML_VERSION="2.9.3" diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 175c00416b..2f30e1e55b 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -227,7 +227,7 @@ IF NOT %ERRORLEVEL%==0 GOTO :Error if %IFCOS_USE_OCCT%==FALSE goto :OCE :OCCT -set OCCT_VERSION=7.3.0 +set OCCT_VERSION=7.3.0p3 SET OCCT_VER=V%OCCT_VERSION:.=_% set OCC_INCLUDE_DIR=%INSTALL_DIR%\opencascade-%OCCT_VERSION%\inc>>"%~dp0\BuildDepsCache-%TARGET_ARCH%.txt" diff --git a/win/patches/V7_3_0p3.patch b/win/patches/V7_3_0p3.patch new file mode 100644 index 0000000000..efc9154b75 --- /dev/null +++ b/win/patches/V7_3_0p3.patch @@ -0,0 +1,77 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fca978164..dda41e2c6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -426,6 +426,9 @@ endforeach() + if (NOT BUILD_SHARED_LIBS) + list (REMOVE_ITEM BUILD_TOOLKITS DRAWEXE) + message (STATUS "Info: DRAWEXE is not included due to ${BUILD_LIBRARY_TYPE} build library type") ++ # IfcOpenShell begin ++ add_definitions(-DHAVE_NO_DLL) ++ # IfcOpenShell end + endif() + + # accumulate all used toolkits +diff --git a/adm/cmake/occt_defs_flags.cmake b/adm/cmake/occt_defs_flags.cmake +index 09da18d38..a07b9cf74 100644 +--- a/adm/cmake/occt_defs_flags.cmake ++++ b/adm/cmake/occt_defs_flags.cmake +@@ -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") ++# 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 ++ 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 f59b1639d..aee227516 100644 +--- a/adm/cmake/occt_toolkit.cmake ++++ b/adm/cmake/occt_toolkit.cmake +@@ -208,11 +208,26 @@ if (EXECUTABLE_PROJECT) + else() + add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES} ${USED_RCFILE} ${RESOURCE_FILES} ${${PROJECT_NAME}_MOC_FILES}) + +- if (MSVC) +- install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb +- CONFIGURATIONS Debug RelWithDebInfo +- DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}") ++ # IfcOpenShell begin ++ if (BUILD_SHARED_LIBS) ++ if (MSVC) ++ install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb ++ CONFIGURATIONS Debug RelWithDebInfo ++ DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}") ++ endif() ++ else() ++ if (MSVC) ++ 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 RelWithDebInfo ++ DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}") ++ endif() + endif() ++ # IfcOpenShell end + + if (BUILD_SHARED_LIBS AND NOT "${BUILD_SHARED_LIBRARY_NAME_POSTFIX}" STREQUAL "") + set (CMAKE_SHARED_LIBRARY_SUFFIX_DEFAULT ${CMAKE_SHARED_LIBRARY_SUFFIX})