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