[opencascade] update to 7.9.0 (#44062)

This commit is contained in:
Pasukhin Dmitry 2025-03-03 18:23:46 +01:00 committed by GitHub
parent 81e24190ea
commit 2e3bd19a3f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 162 additions and 122 deletions

View File

@ -1,83 +1,92 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8690528..834ca79 100644
index 91517a5936..715adb7c2e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -605,7 +605,8 @@ if (CAN_USE_FREETYPE)
if (USE_FREETYPE)
message (STATUS "Info: FreeType is used by OCCT")
add_definitions (-DHAVE_FREETYPE)
- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freetype")
+ find_package(Freetype MODULE REQUIRED)
+ set(CSF_FREETYPE Freetype::Freetype)
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREETYPE")
OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2")
@@ -622,7 +623,9 @@ endif()
@@ -524,8 +524,8 @@ endif()
if (CAN_USE_FREETYPE AND USE_FREETYPE)
message (STATUS "Info: FreeType is used by OCCT")
add_definitions (-DHAVE_FREETYPE)
- OCCT_ADD_VCPKG_FEATURE ("freetype")
- list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/freetype")
+ find_package(Freetype MODULE REQUIRED)
+ set(CSF_FREETYPE Freetype::Freetype)
else()
if (NOT CAN_USE_FREETYPE)
OCCT_CHECK_AND_UNSET ("USE_FREETYPE")
@@ -540,9 +540,10 @@ endif()
# VTK
if (USE_VTK)
add_definitions (-DHAVE_VTK)
- OCCT_ADD_VCPKG_FEATURE ("vtk")
set (OCCT_VTK_USED_TARGETS "" CACHE INTERNAL "" FORCE)
- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vtk")
- list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/vtk")
+ find_package(VTK REQUIRED)
+ set(CSF_VTK VTK::CommonCore)
+ set(IS_VTK_9XX 1)
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_VTK")
@@ -638,7 +641,8 @@ endif()
if (CAN_USE_FREEIMAGE)
if (USE_FREEIMAGE)
add_definitions (-DHAVE_FREEIMAGE)
- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freeimage")
+ find_package(freeimage CONFIG REQUIRED)
+ set(CSF_FreeImagePlus freeimage::FreeImagePlus)
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREEIMAGE")
OCCT_CHECK_AND_UNSET ("INSTALL_FREEIMAGE")
@@ -739,7 +743,8 @@ endif()
if (NOT DEFINED ANDROID AND CAN_USE_TBB)
if (USE_TBB)
add_definitions (-DHAVE_TBB)
- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tbb")
+ find_package(TBB CONFIG REQUIRED)
+ set(CSF_TBB TBB::tbb TBB::tbbmalloc)
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB")
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBBMALLOC")
@@ -759,7 +764,8 @@ OCCT_IS_PRODUCT_REQUIRED (CSF_RapidJSON CAN_USE_RAPIDJSON)
if (CAN_USE_RAPIDJSON)
if (USE_RAPIDJSON)
add_definitions (-DHAVE_RAPIDJSON)
- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/rapidjson")
+ find_package(RapidJSON CONFIG REQUIRED)
+ set(CSF_RapidJSON rapidjson)
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_RAPIDJSON")
OCCT_CHECK_AND_UNSET ("INSTALL_RAPIDJSON")
OCCT_UNSET_VCPKG_FEATURE ("vtk")
@@ -557,8 +558,8 @@ endif()
# FREEIMAGE
if (CAN_USE_FREEIMAGE AND USE_FREEIMAGE)
add_definitions (-DHAVE_FREEIMAGE)
- OCCT_ADD_VCPKG_FEATURE ("freeimage")
- list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/freeimage")
+ find_package(freeimage CONFIG REQUIRED)
+ set(CSF_FreeImagePlus freeimage::FreeImagePlus)
elseif (NOT CAN_USE_FREEIMAGE)
OCCT_CHECK_AND_UNSET ("USE_FREEIMAGE")
OCCT_UNSET_VCPKG_FEATURE ("freeimage")
@@ -653,8 +654,8 @@ endif()
# TBB
if (CAN_USE_TBB AND USE_TBB)
add_definitions (-DHAVE_TBB)
- OCCT_ADD_VCPKG_FEATURE ("tbb")
- list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/tbb")
+ find_package(TBB CONFIG REQUIRED)
+ set(CSF_TBB TBB::tbb TBB::tbbmalloc)
elseif (NOT CAN_USE_TBB)
OCCT_CHECK_AND_UNSET ("USE_TBB")
OCCT_UNSET_VCPKG_FEATURE ("tbb")
@@ -670,8 +671,8 @@ endif()
OCCT_IS_PRODUCT_REQUIRED (CSF_RapidJSON CAN_USE_RAPIDJSON)
if (CAN_USE_RAPIDJSON AND USE_RAPIDJSON)
add_definitions (-DHAVE_RAPIDJSON)
- OCCT_ADD_VCPKG_FEATURE ("rapidjson")
- list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/rapidjson")
+ find_package(RapidJSON CONFIG REQUIRED)
+ set(CSF_RapidJSON rapidjson)
elseif (NOT CAN_USE_RAPIDJSON)
OCCT_CHECK_AND_UNSET ("USE_RAPIDJSON")
OCCT_UNSET_VCPKG_FEATURE ("rapidjson")
diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake
index c939915..f707e00 100644
index 36accf907f..5ef87f9bf0 100644
--- a/adm/cmake/occt_toolkit.cmake
+++ b/adm/cmake/occt_toolkit.cmake
@@ -475,11 +475,11 @@ else()
@@ -281,12 +281,11 @@ else()
endif()
endif()
-if (BUILD_SHARED_LIBS OR EXECUTABLE_PROJECT)
+if (1)
if(IS_VTK_9XX)
string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}")
endif()
- target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
+ target_link_libraries (${PROJECT_NAME} PRIVATE ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
- if(IS_VTK_9XX)
- string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}")
- endif()
+if(IS_VTK_9XX)
+ string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}")
endif()
-target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
+
+target_link_libraries (${PROJECT_NAME} PRIVATE ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
if (USE_QT)
foreach (PROJECT_LIBRARY_DEBUG ${PROJECT_LIBRARIES_DEBUG})
diff --git a/adm/templates/OpenCASCADEConfig.cmake.in b/adm/templates/OpenCASCADEConfig.cmake.in
index e391ddf..9cc3d49 100644
index c926c499ac..a7ad99990c 100644
--- a/adm/templates/OpenCASCADEConfig.cmake.in
+++ b/adm/templates/OpenCASCADEConfig.cmake.in
@@ -5,6 +5,23 @@
# This file is configured by OpenCASCADE.
#
@@ -71,6 +71,23 @@ set (OpenCASCADE_WITH_GLES2 @USE_GLES2@)
@SET_OpenCASCADE_WITH_D3D@
@SET_OpenCASCADE_WITH_GLX@
+include(CMakeFindDependencyMacro)
+if("@USE_FREEIMAGE@")
@ -96,18 +105,21 @@ index e391ddf..9cc3d49 100644
+ find_dependency(VTK REQUIRED)
+endif()
+
if(OpenCASCADE_ALREADY_INCLUDED)
return()
endif()
# Import OpenCASCADE compile definitions, C and C++ flags for each installed configuration.
file(GLOB CONFIG_FILES "${CMAKE_CURRENT_LIST_DIR}/OpenCASCADECompileDefinitionsAndFlags-*.cmake")
foreach(f ${CONFIG_FILES})
diff --git a/src/Image/Image_AlienPixMap.cxx b/src/Image/Image_AlienPixMap.cxx
index f869e8f..538d5b9 100644
index 81289d953b..5ee49e9ff2 100644
--- a/src/Image/Image_AlienPixMap.cxx
+++ b/src/Image/Image_AlienPixMap.cxx
@@ -21,7 +21,6 @@
@@ -19,10 +19,6 @@
#ifdef HAVE_FREEIMAGE
#include <FreeImage.h>
#ifdef _MSC_VER
- #pragma comment( lib, "FreeImage.lib" )
#endif
-
- #ifdef _MSC_VER
- #pragma comment(lib, "FreeImage.lib")
- #endif
#elif defined(HAVE_WINCODEC)
#include <wincodec.h>
// prevent warnings on MSVC10

View File

@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d2c4e570..8eac318c 100644
index d051f5ccce..91517a5936 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -244,7 +244,6 @@ set (CMAKE_INSTALL_PREFIX "${INSTALL_DIR}" CACHE INTERNAL "" FORCE)
@@ -317,7 +317,6 @@ set (CMAKE_INSTALL_PREFIX "${INSTALL_DIR}" CACHE INTERNAL "" FORCE)
set (BIN_LETTER "")
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
@ -10,7 +10,7 @@ index d2c4e570..8eac318c 100644
elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo")
set (BIN_LETTER "i")
endif()
@@ -917,6 +916,7 @@ if (WIN32)
@@ -1002,6 +1001,7 @@ if (WIN32)
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
@ -19,10 +19,10 @@ index d2c4e570..8eac318c 100644
string(TIMESTAMP CURRENT_TIME "%H:%M:%S")
diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake
index 9fd3ec4c..dc9ff18b 100644
index 92a8db33dc..3d4c95b584 100644
--- a/adm/cmake/occt_macros.cmake
+++ b/adm/cmake/occt_macros.cmake
@@ -609,7 +609,7 @@ macro (OCCT_INSERT_CODE_FOR_TARGET)
@@ -779,7 +779,7 @@ macro (OCCT_INSERT_CODE_FOR_TARGET)
elseif (\"\${CMAKE_INSTALL_CONFIG_NAME}\" MATCHES \"^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$\")
set (OCCT_INSTALL_BIN_LETTER \"i\")
elseif (\"\${CMAKE_INSTALL_CONFIG_NAME}\" MATCHES \"^([Dd][Ee][Bb][Uu][Gg])$\")

View File

@ -0,0 +1,45 @@
diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake
index 3d4c95b584..bf3e7c8d81 100644
--- a/adm/cmake/occt_macros.cmake
+++ b/adm/cmake/occt_macros.cmake
@@ -437,7 +437,7 @@ function (COLLECT_AND_INSTALL_OCCT_HEADER_FILES THE_ROOT_TARGET_OCCT_DIR THE_OCC
foreach(OCCT_PACKAGE ${USED_PACKAGES})
EXTRACT_PACKAGE_FILES (${THE_RELATIVE_PATH} ${OCCT_PACKAGE} ALL_FILES _)
set (HEADER_FILES_FILTERING ${ALL_FILES})
- list (FILTER HEADER_FILES_FILTERING INCLUDE REGEX ".+[.](h|g|p|lxx)")
+ list (FILTER HEADER_FILES_FILTERING INCLUDE REGEX ".+[.](h|g|p|lxx|hxx|pxx|hpp|gxx)$")
list (APPEND OCCT_HEADER_FILES_COMPLETE ${HEADER_FILES_FILTERING})
endforeach()
endforeach()
@@ -477,7 +477,7 @@ function (COLLECT_AND_INSTALL_OCCT_HEADER_FILES THE_ROOT_TARGET_OCCT_DIR THE_OCC
endforeach()
set (OCCT_HEADER_FILES_INSTALLATION ${OCCT_HEADER_FILES_COMPLETE})
- list (FILTER OCCT_HEADER_FILES_INSTALLATION INCLUDE REGEX ".*[.](h|lxx)")
+ list (FILTER OCCT_HEADER_FILES_INSTALLATION INCLUDE REGEX ".*[.](h|hxx|lxx)$")
install (FILES ${OCCT_HEADER_FILES_INSTALLATION} DESTINATION "${INSTALL_DIR}/${THE_OCCT_INSTALL_DIR_PREFIX}")
endfunction()
diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake
index a2009e65b9..41bc03fc9a 100644
--- a/adm/cmake/occt_toolkit.cmake
+++ b/adm/cmake/occt_toolkit.cmake
@@ -63,13 +63,13 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
set (HEADER_FILES_FILTERING ${ALL_FILES})
set (SOURCE_FILES_FILTERING ${ALL_FILES})
-
- list (FILTER HEADER_FILES_FILTERING INCLUDE REGEX ".+[.](h|p|g|lxx)")
-
+
+ list (FILTER HEADER_FILES_FILTERING INCLUDE REGEX ".+[.](h|p|g|lxx|hxx|pxx|hpp|gxx)$")
+
if(APPLE)
- list (FILTER SOURCE_FILES_FILTERING INCLUDE REGEX ".+[.](c|mm)")
+ list (FILTER SOURCE_FILES_FILTERING INCLUDE REGEX ".+[.](c|cxx|cpp|mm)$")
else()
- list (FILTER SOURCE_FILES_FILTERING INCLUDE REGEX ".+[.](c)")
+ list (FILTER SOURCE_FILES_FILTERING INCLUDE REGEX ".+[.](c|cpp|cxx)$")
endif()
list (APPEND HEADER_FILES ${HEADER_FILES_FILTERING})

View File

@ -1,13 +0,0 @@
diff --git a/src/StdPrs/StdPrs_BRepFont.cxx b/src/StdPrs/StdPrs_BRepFont.cxx
index ab2d9b3c9f..cd701879b1 100644
--- a/src/StdPrs/StdPrs_BRepFont.cxx
+++ b/src/StdPrs/StdPrs_BRepFont.cxx
@@ -457,7 +457,7 @@ Standard_Boolean StdPrs_BRepFont::renderGlyph (const Standard_Utf32Char theChar,
for (short aContour = 0, aStartIndex = 0; aContour < anOutline->n_contours; ++aContour)
{
const FT_Vector* aPntList = &anOutline->points[aStartIndex];
- const char* aTags = &anOutline->tags[aStartIndex];
+ const auto* aTags = &anOutline->tags[aStartIndex];
const short anEndIndex = anOutline->contours[aContour];
const short aPntsNb = (anEndIndex - aStartIndex) + 1;
aStartIndex = anEndIndex + 1;

View File

@ -1,5 +1,5 @@
diff --git a/adm/templates/OpenCASCADEConfig.cmake.in b/adm/templates/OpenCASCADEConfig.cmake.in
index e391ddf..c926c49 100644
index e391ddfe8e..c926c499ac 100644
--- a/adm/templates/OpenCASCADEConfig.cmake.in
+++ b/adm/templates/OpenCASCADEConfig.cmake.in
@@ -24,6 +24,7 @@ set (OpenCASCADE_DEVELOPMENT_VERSION "@OCC_VERSION_DEVELOPMENT@")
@ -10,6 +10,3 @@ index e391ddf..c926c49 100644
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/cmake$")
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
endif()
--
2.14.3.windows.1

View File

@ -1,30 +1,10 @@
diff --git a/adm/cmake/cotire.cmake b/adm/cmake/cotire.cmake
index acdca71a9f..aa41f2c8b8 100644
--- a/adm/cmake/cotire.cmake
+++ b/adm/cmake/cotire.cmake
@@ -3291,6 +3291,7 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
OSX_ARCHITECTURES OSX_ARCHITECTURES_<CONFIG> PRIVATE_HEADER PUBLIC_HEADER RESOURCE XCTEST
IOS_INSTALL_COMBINED XCODE_EXPLICIT_FILE_TYPE XCODE_PRODUCT_TYPE)
# copy Windows platform specific stuff
+ if (BUILD_SHARED_LIBS)
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
GNUtoMS
COMPILE_PDB_NAME COMPILE_PDB_NAME_<CONFIG>
@@ -3306,6 +3307,7 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
WIN32_EXECUTABLE WINDOWS_EXPORT_ALL_SYMBOLS
DEPLOYMENT_REMOTE_DIRECTORY VS_CONFIGURATION_TYPE
VS_SDK_REFERENCES VS_USER_PROPS VS_DEBUGGER_WORKING_DIRECTORY)
+ endif()
# copy Android platform specific stuff
cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
ANDROID_API ANDROID_API_MIN ANDROID_GUI
diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake
index c9399159f1..ce74b918df 100644
index 1a7eb59b5c..36accf907f 100644
--- a/adm/cmake/occt_toolkit.cmake
+++ b/adm/cmake/occt_toolkit.cmake
@@ -278,7 +278,7 @@ else()
# endif()
endif()
@@ -134,7 +134,7 @@ if (EXECUTABLE_PROJECT)
else()
add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES} ${USED_RCFILE} ${RESOURCE_FILES} ${${PROJECT_NAME}_MOC_FILES})
- if (MSVC)
+ if (MSVC AND BUILD_SHARED_LIBS)

View File

@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a80e39e6..bb6ab2db 100644
index 715adb7c2e..a06f8a8c88 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1273,6 +1273,11 @@ foreach (OCCT_MODULE ${OCCT_MODULES})
@@ -1375,6 +1375,11 @@ foreach (OCCT_MODULE ${OCCT_MODULES})
endforeach()
set (OCCT_MODULES_ENABLED ${OCCT_MODULES_ENABLED_SORTED})

View File

@ -3,15 +3,16 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Open-Cascade-SAS/OCCT
REF "${VERSION_STR}"
SHA512 807c1f8732926cfdabcfbdf8d6a0e76b8dba1a1e614afe084a467ffb4cfd80623f5e3afa7e9905b1ac96667c93e01b5f98ceaa8948a576a1093d98df98cc8f81
SHA512 42ceb7ad4ba6848c334ca850c5caffefd262b82dd4432f069d7a986f796dc22f038f3af902c0f3fc4ce8c9dd4592c444674a271d31f744c1084bc5bfd775eadf
HEAD_REF master
PATCHES
dependencies.patch
drop-bin-letter-d.patch
fix-pdb-find.patch
fix-install-prefix-path.patch
fix-pdb-find.patch
drop-bin-letter-d.patch
dependencies.patch
install-include-dir.patch
fix-freetype.diff # https://github.com/Open-Cascade-SAS/OCCT/pull/49
remove-vcpkg-enabling.patch
file-filter-regex.patch
)
if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")

View File

@ -0,0 +1,14 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a06f8a8c88..de45605c62 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,9 +2,6 @@ cmake_minimum_required (VERSION 3.10 FATAL_ERROR)
if (NOT DEFINED BUILD_USE_VCPKG)
set (BUILD_USE_VCPKG OFF CACHE BOOL "Use vcpkg for 3rdparty libraries.")
- if (CMAKE_TOOLCHAIN_FILE MATCHES "vcpkg.cmake")
- set (BUILD_USE_VCPKG ON)
- endif()
endif()
if (BUILD_USE_VCPKG)

View File

@ -1,7 +1,6 @@
{
"name": "opencascade",
"version": "7.8.1",
"port-version": 1,
"version": "7.9.0",
"description": "Open CASCADE Technology (OCCT) is an open-source software development platform for 3D CAD, CAM, CAE.",
"homepage": "https://github.com/Open-Cascade-SAS/OCCT",
"license": "LGPL-2.1-only",

View File

@ -6685,8 +6685,8 @@
"port-version": 1
},
"opencascade": {
"baseline": "7.8.1",
"port-version": 1
"baseline": "7.9.0",
"port-version": 0
},
"opencc": {
"baseline": "1.1.9",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "3234bf9b80704cbb6d401fa42a2f5555e4f9e69b",
"version": "7.9.0",
"port-version": 0
},
{
"git-tree": "9395dfd0da8336f969336e3b21d46088867ab1d0",
"version": "7.8.1",