From 9cfe5d67d8868fc8b27c8590c2471ae385b68aff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= 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