opencascade-7.6.3

This commit is contained in:
Rmys
2022-07-30 01:28:51 +03:00
committed by GitHub
parent 8181d29e34
commit d17f33a7f5
8 changed files with 163 additions and 5 deletions
+6 -2
View File
@@ -11,12 +11,16 @@ from pisi.actionsapi import cmaketools
def setup():
options_cfg = ''.join([
'-DUSE_TBB=ON ',
'-DUSE_VTK=OFF ',
'-DUSE_VTK=True ',
'-DINSTALL_VTK=False',
'-DUSE_GL2PS=ON ',
'-DUSE_FFMPEG=ON ',
'-DUSE_FREEIMAGE=OFF ',
'BUILD_TYPE=Release ',
'-DINSTALL_DIR_LIB=/usr/lib ',
'-DCMAKE_INSTALL_PREFIX=/usr',
'-D3RDPARTY_VTK_LIBRARY_DIR=/usr/lib',
'-D3RDPARTY_VTK_INCLUDE_DIR=/usr/include',
'-DINSTALL_DIR_CMAKE=/usr/lib/cmake/opencascade',
])
shelltools.makedirs("build")
shelltools.cd("build")
@@ -0,0 +1,12 @@
diff -Naur occt-V7_3_0/adm/templates/OpenCASCADEConfig.cmake.in occt-V7_3_0_new/adm/templates/OpenCASCADEConfig.cmake.in
--- occt-V7_3_0/adm/templates/OpenCASCADEConfig.cmake.in 2018-05-29 12:14:02.000000000 +0200
+++ occt-V7_3_0.new/adm/templates/OpenCASCADEConfig.cmake.in 2018-05-29 12:14:02.000000000 +0200
@@ -26,7 +26,7 @@
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/cmake$")
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
endif()
-if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib$")
+if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib(64)?$")
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
endif()
@@ -0,0 +1,24 @@
diff -aur occt-V7_1_0/CMakeLists.txt occt-V7_1_0.new/CMakeLists.txt
--- occt-V7_1_0/CMakeLists.txt 2016-11-25 11:50:18.000000000 +0100
+++ occt-V7_1_0.new/CMakeLists.txt 2017-03-18 08:44:10.406668714 +0100
@@ -906,7 +906,7 @@
endforeach()
# install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration
install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)")
-install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
+install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"\$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
foreach (OCCT_MODULE ${OCCT_MODULES})
if (BUILD_MODULE_${OCCT_MODULE})
diff -aur occt-V7_1_0/adm/cmake/occt_macros.cmake occt-V7_1_0.new/adm/cmake/occt_macros.cmake
--- occt-V7_1_0/adm/cmake/occt_macros.cmake 2016-11-25 11:50:18.000000000 +0100
+++ occt-V7_1_0.new/adm/cmake/occt_macros.cmake 2017-03-18 08:44:10.406668714 +0100
@@ -558,7 +558,7 @@
"cmake_policy(PUSH)
cmake_policy(SET CMP0007 NEW)
string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
- file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
+ file (GLOB ALL_OCCT_TARGET_FILES \"\$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
file (REMOVE \"\${TARGET_FILENAME}\")
@@ -0,0 +1,12 @@
diff -up oce-upstream-V7_5_0/src/Standard/Standard_Type.hxx.omv~ oce-upstream-V7_5_0/src/Standard/Standard_Type.hxx
--- oce-upstream-V7_5_0/src/Standard/Standard_Type.hxx.omv~ 2022-01-09 01:03:31.512273977 +0100
+++ oce-upstream-V7_5_0/src/Standard/Standard_Type.hxx 2022-01-09 01:03:38.866283692 +0100
@@ -26,7 +26,7 @@
// DEFINE_STANDARD_RTTI* macro is actually a base class.
#if ! defined(OCCT_CHECK_BASE_CLASS)
-#if (defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || (__GNUC__ > 4)))
+#if (defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || (__GNUC__ > 4))) && !defined(__clang__)
// For GCC 4.7+, more strict check is possible -- ensuring that base class
// is direct base -- using non-standard C++ reflection functionality.
@@ -0,0 +1,53 @@
From: kgv <kgv@opencascade.com>
Date: Mon, 29 Nov 2021 18:26:45 +0000 (+0300)
Subject: 0032697: Configuration - fix compilation errors with oneTBB 2021
X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff_plain;h=740833a6a88e481f474783c426b6f6311ed586d3
0032697: Configuration - fix compilation errors with oneTBB 2021
Removed usage of no more existing tbb::task_scheduler_init and tbb::captured_exception.
---
diff --git a/src/OSD/OSD_Parallel_TBB.cxx b/src/OSD/OSD_Parallel_TBB.cxx
index 2344a6ca2d..0b9022b576 100644
--- a/src/OSD/OSD_Parallel_TBB.cxx
+++ b/src/OSD/OSD_Parallel_TBB.cxx
@@ -25,7 +25,9 @@ Standard_DISABLE_DEPRECATION_WARNINGS
#include <tbb/parallel_for.h>
#include <tbb/parallel_for_each.h>
#include <tbb/blocked_range.h>
-#include <tbb/task_scheduler_init.h>
+#if TBB_VERSION_MAJOR < 2021
+ #include <tbb/task_scheduler_init.h>
+#endif
Standard_ENABLE_DEPRECATION_WARNINGS
//=======================================================================
@@ -38,12 +40,16 @@ void OSD_Parallel::forEachExternal (UniversalIterator& theBegin,
const FunctorInterface& theFunctor,
Standard_Integer theNbItems)
{
+#if TBB_VERSION_MAJOR >= 2021
+ // task_scheduler_init is removed,
+ // exceptions are captured without proxy tbb::captured_exception object
+ (void )theNbItems;
+ tbb::parallel_for_each (theBegin, theEnd, theFunctor);
+#else
try
{
const Handle(OSD_ThreadPool)& aThreadPool = OSD_ThreadPool::DefaultPool();
- const Standard_Integer aNbThreads = theNbItems > 0 ?
- aThreadPool->NbDefaultThreadsToLaunch() : -1;
-
+ const Standard_Integer aNbThreads = theNbItems > 0 ? aThreadPool->NbDefaultThreadsToLaunch() : -1;
tbb::task_scheduler_init aScheduler (aNbThreads);
tbb::parallel_for_each (theBegin, theEnd, theFunctor);
}
@@ -51,6 +57,7 @@ void OSD_Parallel::forEachExternal (UniversalIterator& theBegin,
{
throw Standard_ProgramError (anException.what());
}
+#endif
}
#endif /* HAVE_TBB */
@@ -0,0 +1,12 @@
diff -up opencascade-7.6.0/adm/templates/custom.build.sh.in.omv~ opencascade-7.6.0/adm/templates/custom.build.sh.in
--- opencascade-7.6.0/adm/templates/custom.build.sh.in.omv~ 2022-01-12 04:05:12.227180642 +0100
+++ opencascade-7.6.0/adm/templates/custom.build.sh.in 2022-01-12 04:06:30.088406684 +0100
@@ -1,6 +1,6 @@
#!/bin/bash
-if [ "$1" == "@BIN_LETTER@" ]; then
+if true; then
if [ "$2" == "@COMPILER_BITNESS@" ]; then
# set environment variables used by OCCT
export CSF_FPE=@BUILD_ENABLE_FPE_SIGNAL_HANDLER@
diff -up opencascade-7.6.0/adm/templates/env.sh.omv~ opencascade-7.6.0/adm/templates/env.sh
@@ -0,0 +1,26 @@
--- a/adm/templates/OpenCASCADEConfig.cmake.in
+++ b/adm/templates/OpenCASCADEConfig.cmake.in
@@ -27,7 +27,7 @@ get_filename_component (OpenCASCADE_INST
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/cmake$")
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
endif()
-if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib$")
+if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib$" OR OpenCASCADE_INSTALL_PREFIX MATCHES "/lib64$")
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
endif()
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/libs/${CMAKE_ANDROID_ARCH_ABI}$")
--- a/adm/cmake/occt_toolkit.cmake
+++ b/adm/cmake/occt_toolkit.cmake
@@ -244,9 +244,9 @@ else()
install (TARGETS ${PROJECT_NAME}
EXPORT OpenCASCADE${CURRENT_MODULE}Targets
- RUNTIME DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}"
- ARCHIVE DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}"
- LIBRARY DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}")
+ RUNTIME DESTINATION "${INSTALL_DIR_BIN}"
+ ARCHIVE DESTINATION "${INSTALL_DIR_LIB}"
+ LIBRARY DESTINATION "${INSTALL_DIR_LIB}")
if (NOT WIN32)
if (BUILD_SHARED_LIBS AND NOT "${BUILD_SHARED_LIBRARY_NAME_POSTFIX}" STREQUAL "")
+18 -3
View File
@@ -12,25 +12,33 @@
<License>LGPLv2.1</License>
<IsA>app:console</IsA>
<IsA>library</IsA>
<Icon>opencascade</Icon>
<Summary>Open CASCADE Technology, 3D modeling and numerical simulation.</Summary>
<Description>Open CASCADE Technology (OCCT) is an object-oriented C++ class library designed for rapid production of sophisticated domain-specific CAD/CAM/CAE applications..</Description>
<Archive sha1sum="7afa594f25d353c22fc46d06dfdca0c60d8a6a93" type="targz">https://github.com/tpaviot/oce/releases/download/official-upstream-packages/opencascade-7.4.0p1.snapshot.tar.gz</Archive>
<Archive sha1sum="c6aff13f7bff5fe4298a7cf842f55be76340dfe6" type="targz">https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_3.tar.gz</Archive>
<!--
<Archive sha1sum="7afa594f25d353c22fc46d06dfdca0c60d8a6a93" type="targz">https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V7_4_0p1;sf=tgz</Archive>
-->
<BuildDependencies>
<Dependency>cmake</Dependency>
<Dependency>tcl-devel</Dependency>
<Dependency>tcltk-devel</Dependency>
<Dependency>ffmpeg-devel</Dependency>
<Dependency>libXmu-devel</Dependency>
<Dependency>libX11-devel</Dependency>
<Dependency>libglvnd-devel</Dependency>
<Dependency>freetype-devel</Dependency>
<Dependency>qt5-base-devel</Dependency>
<Dependency>intel-tbb-devel</Dependency>
<Dependency>fontconfig-devel</Dependency>
<Dependency>desktop-file-utils</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">opencascade-7.6.0-set-env-correctly.patch</Patch>
<Patch level="1">opencascade-cmake.patch</Patch>
<Patch level="1">oce-7.5.0-clang.patch</Patch>
<Patch level="1">opencascade-7.5.0-fix_tbb.patch</Patch>
<Patch level="1">fix-install-dir-references.patch</Patch>
<Patch level="1">cmake-fix-variable.patch</Patch>
</Patches>
</Source>
@@ -70,6 +78,13 @@
</Package>
<History>
<Update release="2">
<Date>2022-07-30</Date>
<Version>7.6.3</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="1">
<Date>2020-09-28</Date>
<Version>7.4.0</Version>
@@ -78,4 +93,4 @@
<Email>bluedevil@sctzine.com</Email>
</Update>
</History>
</PISI>
</PISI>