File 0001-OpenCASCADE-7.8-compatibility-replace-homegrown-Find.patch of Package OpenSceneGraph

From 9cfe5d67d8868fc8b27c8590c2471ae385b68aff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Fri, 13 Dec 2024 13:48:08 +0100
Subject: [PATCH] OpenCASCADE 7.8 compatibility - replace homegrown Find module

---
 CMakeModules/FindOpenCascade.cmake | 181 ++---------------------------
 1 file changed, 11 insertions(+), 170 deletions(-)

diff --git a/CMakeModules/FindOpenCascade.cmake b/CMakeModules/FindOpenCascade.cmake
index ade975d..36398d4 100644
--- a/CMakeModules/FindOpenCascade.cmake
+++ b/CMakeModules/FindOpenCascade.cmake
@@ -1,174 +1,15 @@
-# LocateOPENCASCADE
-# This module defines
-# OPENCASCADE_LIBRARY
-# OPENCASCADE_FOUND, if false, do not try to link to OPENCASCADE
-# OPENCASCADE_INCLUDE_DIR, where to find the headers
-#
-# $OPENCASCADE_DIR is an environment variable that would
-# correspond to the ./configure --prefix=$OPENCASCADE_DIR
-# used in building OPENCASCADE.
 
-FIND_PATH(OPENCASCADE_INCLUDE_DIR Standard_Version.hxx
-  PATHS
-    ${OPENCASCADE_DIR}
-    $ENV{OPENCASCADE_DIR}
-    ~/Library/Frameworks
-    /Library/Frameworks
-    /usr/local
-    /usr
-    /sw # Fink
-    /opt/local # DarwinPorts
-    /opt/csw # Blastwave
-    /opt
-    /usr/freeware
-  PATH_SUFFIXES
-    opencascade
-    inc
-    include
-    inc/cascade
-    include/cascade
-)
+find_package(OpenCASCADE COMPONENTS FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange CONFIG)
 
-MACRO(FIND_OPENCASCADE_LIBRARY MYLIBRARY MYLIBRARYNAME)
+if (OpenCASCADE_FOUND)
+  SET(OPENCASCADE_LIBRARY "TKDESTEP;TKDEIGES")
+  SET(OPENCASCADE_FOUND ON)
 
-    FIND_LIBRARY("${MYLIBRARY}"
-        NAMES "${MYLIBRARYNAME}"
-        PATHS
-        $ENV{OPENCASCADE_DIR}/lib}
-        $ENV{OPENCASCADE_LIB}
-        ${OPENCASCADE_DIR}/lib
-        $ENV{OPENCASCADE_DIR}/lib
-        ${OPENCASCADE_DIR}/lib/
-        ~/Library/Frameworks
-        /Library/Frameworks
-        /usr/local/lib
-        /usr/lib
-        /sw/lib
-        /opt/local/lib
-        /opt/csw/lib
-        /opt/lib
-        /usr/freeware/lib64
-        )
-
-ENDMACRO()
-
-
-
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKBinL TKBinL)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKBin TKBin)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKBinTObj TKBinTObj)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKBinXCAF TKBinXCAF)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKBool TKBool)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKBO TKBO)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKBRep TKBRep)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKCAF TKCAF)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKCDF TKCDF)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKernel TKernel)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKFeat TKFeat)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKFillet TKFillet)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKG2d TKG2d)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKG3d TKG3d)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKGeomAlgo TKGeomAlgo)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKGeomBase TKGeomBase)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKHLR TKHLR)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKIGES TKIGES)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKLCAF TKLCAF)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKMath TKMath)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKMesh TKMesh)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKMeshVS TKMeshVS)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKOffset TKOffset)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKOpenGl TKOpenGl)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKPrim TKPrim)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKService TKService)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKShHealing TKShHealing)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKSTEP209 TKSTEP209)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKSTEPAttr TKSTEPAttr)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKSTEPBase TKSTEPBase)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKSTEP TKSTEP)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKSTL TKSTL)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKTObj TKTObj)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKTopAlgo TKTopAlgo)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKV3d TKV3d)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKVRML TKVRML)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXDEIGES TKXDEIGES)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXDESTEP TKXDESTEP)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXMesh TKXMesh)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXmlL TKXmlL)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXml TKXml)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXmlTObj TKXmlTObj)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXmlXCAF TKXmlXCAF)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXSBase TKXSBase)
-FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXCAF TKXCAF)
-
-set (OPENCASCADE_LIBRARY_TYPE_DESCR 
-"Specifies the type of library to be used. 'Shared' libraries
-are linked dynamically and loaded at runtime. 'Static' libraries
-are archives of object files for use when linking other targets")
-
-# set type of OCCT libraries
-if (NOT OPENCASCADE_LIBRARY_TYPE)
-  set (OPENCASCADE_LIBRARY_TYPE "Static" CACHE STRING "${OPENCASCADE_LIBRARY_TYPE_DESCR}" FORCE)
-  SET_PROPERTY(CACHE OPENCASCADE_LIBRARY_TYPE PROPERTY STRINGS Shared Static)
+  get_target_property(_OCC_LIB_TKDESTEP TKDESTEP INTERFACE_LINK_LIBRARIES)
+  get_target_property(_OCC_LIB_TKDEIGES TKDEIGES INTERFACE_LINK_LIBRARIES)
+  list(APPEND _OCC_LIBS ${_OCC_LIB_TKDESTEP} ${_OCC_LIB_TKDEIGES})
+  list(REMOVE_DUPLICATES _OCC_LIBS)
+  message(STATUS "OpenCASCADE found: ${_OCC_LIBS}")
+else()
+  message(STATUS "OpenCASCADE not found")
 endif()
-
-if ("${OPENCASCADE_LIBRARY_TYPE}" STREQUAL "Shared")
-
-SET(OPENCASCADE_LIBRARY ${OPENCASCADE_LIBRARY}
-    ${OPENCASCADE_TKernel}
-    ${OPENCASCADE_TKMath}
-    ${OPENCASCADE_TKXCAF}
-    ${OPENCASCADE_TKXSBase}
-    ${OPENCASCADE_TKSTEPAttr}
-    ${OPENCASCADE_TKSTEPBase}
-    ${OPENCASCADE_TKSTEP209}
-    ${OPENCASCADE_TKSTEP}
-    ${OPENCASCADE_TKXDESTEP}
-    ${OPENCASCADE_TKIGES}
-    ${OPENCASCADE_TKXDEIGES}
-    ${OPENCASCADE_TKLCAF}
-    ${OPENCASCADE_TKBRep}
-    ${OPENCASCADE_TKMesh}
-    ${OPENCASCADE_TKTopAlgo}
-    ${OPENCASCADE_TKShHealing}
-)
-else ("${OPENCASCADE_LIBRARY_TYPE}" STREQUAL "Shared")
-SET(OPENCASCADE_LIBRARY ${OPENCASCADE_LIBRARY}
-    ${OPENCASCADE_TKBO}
-    ${OPENCASCADE_TKBool}
-    ${OPENCASCADE_TKBRep}
-    ${OPENCASCADE_TKCAF}
-    ${OPENCASCADE_TKCDF}
-    ${OPENCASCADE_TKernel}
-    ${OPENCASCADE_TKG2d}
-    ${OPENCASCADE_TKG3d}
-    ${OPENCASCADE_TKGeomAlgo}
-    ${OPENCASCADE_TKGeomBase}
-    ${OPENCASCADE_TKHLR}
-    ${OPENCASCADE_TKIGES}
-    ${OPENCASCADE_TKLCAF}
-    ${OPENCASCADE_TKMath}
-    ${OPENCASCADE_TKMesh}
-    ${OPENCASCADE_TKPrim}
-    ${OPENCASCADE_TKService}
-    ${OPENCASCADE_TKShHealing}
-    ${OPENCASCADE_TKSTEP}
-    ${OPENCASCADE_TKSTEP209}
-    ${OPENCASCADE_TKSTEPAttr}
-    ${OPENCASCADE_TKSTEPBase}
-    ${OPENCASCADE_TKTopAlgo}
-    ${OPENCASCADE_TKV3d}
-    ${OPENCASCADE_TKXCAF}
-    ${OPENCASCADE_TKXDEIGES}
-    ${OPENCASCADE_TKXDESTEP}
-    ${OPENCASCADE_TKXSBase}
-)
-endif ("${OPENCASCADE_LIBRARY_TYPE}" STREQUAL "Shared")
-
-SET(OPENCASCADE_FOUND "NO")
-IF(OPENCASCADE_LIBRARY AND OPENCASCADE_INCLUDE_DIR)
-    SET(OPENCASCADE_FOUND "YES")
-ENDIF(OPENCASCADE_LIBRARY AND OPENCASCADE_INCLUDE_DIR)
-
-IF(OPENCASCADE_INCLUDE_DIR)
-    SET(OPENCASCADE_FOUND "YES")
-ENDIF(OPENCASCADE_INCLUDE_DIR)
-- 
2.47.1

openSUSE Build Service is sponsored by