From 634600b65fcb0ccac6ba1e3d038f55653720cb47 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 13 Feb 2026 18:13:43 +0500 Subject: [PATCH] FindOpenCASCADE - rescan dependencies for cmake config --- cmake/FindOpenCASCADE.cmake | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cmake/FindOpenCASCADE.cmake b/cmake/FindOpenCASCADE.cmake index f78ee33b99..aac5f0521e 100644 --- a/cmake/FindOpenCASCADE.cmake +++ b/cmake/FindOpenCASCADE.cmake @@ -43,6 +43,17 @@ if(NOT OCC_INCLUDE_DIR AND NOT OCC_LIBRARY_DIR) set_target_properties(TKernel PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${OpenCASCADE_INCLUDE_DIR}") endif() + if( + OpenCASCADE_VERSION VERSION_LESS "7.9.0" + AND CMAKE_VERSION GREATER_EQUAL "3.24" + AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU" + ) + # Before 7.9.0 targets in OCCT cmake configs are not linked to each other + # leading to missing symbols on Unix. Link them as a single group as a workaround. + # Only needed for gcc, because other compilers (e.g. Apple Clang, MSVC) do rescan automatically. + set(OpenCASCADE_LIBRARIES "$") + endif() + if(OpenCASCADE_VERSION VERSION_LESS "7.9.0" AND WIN32) # Bug in OCCT cmake configs < 7.9.0 - missing linked library. list(APPEND OpenCASCADE_LIBRARIES WSOCK32.lib)