Remove OpenCascade Community Edition

This commit is contained in:
bofdahof
2024-11-25 04:46:48 +10:00
committed by Chris Hennes
parent 574579196b
commit 34639e777d
2 changed files with 115 additions and 148 deletions

View File

@@ -1,4 +1,4 @@
# Try to find OCE / OCC # Try to find OCC
# Once done this will define # Once done this will define
# #
# OCC_FOUND - system has OCC - OpenCASCADE # OCC_FOUND - system has OCC - OpenCASCADE
@@ -7,164 +7,134 @@
# OCC_LIBRARIES - Link this to use OCC # OCC_LIBRARIES - Link this to use OCC
# OCC_OCAF_LIBRARIES - Link this to use OCC OCAF framework # OCC_OCAF_LIBRARIES - Link this to use OCC OCAF framework
# First try to find OpenCASCADE Community Edition # we first try to find opencascade directly:
if(NOT DEFINED OCE_DIR) if (NOT OCCT_CMAKE_FALLBACK)
# Check for OSX needs to come first because UNIX evaluates to true on OSX
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
if(DEFINED MACPORTS_PREFIX)
find_package(OCE QUIET HINTS ${MACPORTS_PREFIX}/Library/Frameworks)
elseif(DEFINED HOMEBREW_PREFIX)
find_package(OCE QUIET HINTS ${HOMEBREW_PREFIX}/Cellar/oce/*)
endif()
elseif(UNIX)
set(OCE_DIR "/usr/local/share/cmake/")
elseif(WIN32)
set(OCE_DIR "c:/OCE-0.4.0/share/cmake")
endif()
endif()
if(${FREECAD_USE_OCC_VARIANT} MATCHES "Community Edition")
find_package(OCE QUIET)
endif()
if(OCE_FOUND)
message(STATUS "-- OpenCASCADE Community Edition has been found.")
# Disable this define. For more details see bug #0001872
#add_definitions (-DHAVE_CONFIG_H)
set(OCC_INCLUDE_DIR ${OCE_INCLUDE_DIRS})
#set(OCC_LIBRARY_DIR ${OCE_LIBRARY_DIR})
else(OCE_FOUND) #look for OpenCASCADE
# we first try to find opencascade directly:
if(NOT OCCT_CMAKE_FALLBACK)
find_package(OpenCASCADE CONFIG QUIET) find_package(OpenCASCADE CONFIG QUIET)
if(NOT (CMAKE_VERSION VERSION_LESS 3.6.0)) if (NOT (CMAKE_VERSION VERSION_LESS 3.6.0))
get_property(flags DIRECTORY PROPERTY COMPILE_DEFINITIONS) get_property(flags DIRECTORY PROPERTY COMPILE_DEFINITIONS)
# OCCT 7.5 adds this define that causes hundreds of compiler warnings with Qt5.x, so remove it again # OCCT 7.5 adds this define that causes hundreds of compiler warnings with Qt5.x, so remove it again
list(FILTER flags EXCLUDE REGEX [[GL_GLEXT_LEGACY]]) list(FILTER flags EXCLUDE REGEX [[GL_GLEXT_LEGACY]])
set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS ${flags}) set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS ${flags})
endif() endif ()
endif(NOT OCCT_CMAKE_FALLBACK) endif ()
if(OpenCASCADE_FOUND) if (OpenCASCADE_FOUND)
set(OCC_FOUND ${OpenCASCADE_FOUND}) set(OCC_FOUND ${OpenCASCADE_FOUND})
set(OCC_INCLUDE_DIR ${OpenCASCADE_INCLUDE_DIR}) set(OCC_INCLUDE_DIR ${OpenCASCADE_INCLUDE_DIR})
set(OCC_LIBRARY_DIR ${OpenCASCADE_LIBRARY_DIR}) set(OCC_LIBRARY_DIR ${OpenCASCADE_LIBRARY_DIR})
set(OCC_LIBRARIES ${OpenCASCADE_LIBRARIES}) set(OCC_LIBRARIES ${OpenCASCADE_LIBRARIES})
set(OCC_OCAF_LIBRARIES TKCAF TKXCAF) set(OCC_OCAF_LIBRARIES TKCAF TKXCAF)
else(OpenCASCADE_FOUND) else ()
if(WIN32) if (WIN32)
if(CYGWIN OR MINGW) if (CYGWIN OR MINGW)
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx find_path(OCC_INCLUDE_DIR Standard_Version.hxx
/usr/include/opencascade /usr/include/opencascade
/usr/local/include/opencascade /usr/local/include/opencascade
/opt/opencascade/include /opt/opencascade/include
/opt/opencascade/inc /opt/opencascade/inc
)
find_path(OCC_LIBRARY TKernel
/usr/lib
/usr/local/lib
/opt/opencascade/lib
)
else ()
find_path(OCC_INCLUDE_DIR Standard_Version.hxx
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\OCC\\2;Installation Path]/include"
)
find_library(OCC_LIBRARY TKernel
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\OCC\\2;Installation Path]/lib"
)
endif ()
else ()
find_path(OCC_INCLUDE_DIR Standard_Version.hxx
/usr/include/occt
/usr/include/opencascade
/usr/local/include/opencascade
/opt/opencascade/include
/opt/opencascade/inc
) )
FIND_LIBRARY(OCC_LIBRARY TKernel find_library(OCC_LIBRARY TKernel
/usr/lib /usr/lib
/usr/local/lib /usr/local/lib
/opt/opencascade/lib /opt/opencascade/lib
) )
else(CYGWIN OR MINGW) endif ()
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx if (OCC_LIBRARY)
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\OCC\\2;Installation Path]/include" get_filename_component(OCC_LIBRARY_DIR ${OCC_LIBRARY} PATH)
) if (NOT OCC_INCLUDE_DIR)
FIND_LIBRARY(OCC_LIBRARY TKernel find_path(OCC_INCLUDE_DIR Standard_Version.hxx
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\OCC\\2;Installation Path]/lib" ${OCC_LIBRARY_DIR}/../inc
) )
endif(CYGWIN OR MINGW) endif ()
else(WIN32) endif ()
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx endif ()
/usr/include/occt
/usr/include/opencascade
/usr/local/include/opencascade
/opt/opencascade/include
/opt/opencascade/inc
)
FIND_LIBRARY(OCC_LIBRARY TKernel
/usr/lib
/usr/local/lib
/opt/opencascade/lib
)
endif(WIN32)
if(OCC_LIBRARY)
GET_FILENAME_COMPONENT(OCC_LIBRARY_DIR ${OCC_LIBRARY} PATH)
IF(NOT OCC_INCLUDE_DIR)
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
${OCC_LIBRARY_DIR}/../inc
)
ENDIF()
endif(OCC_LIBRARY)
endif(OpenCASCADE_FOUND)
endif(OCE_FOUND)
if(OCC_INCLUDE_DIR) if (OCC_INCLUDE_DIR)
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MAJOR file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MAJOR
REGEX "#define OCC_VERSION_MAJOR.*" REGEX "#define OCC_VERSION_MAJOR.*"
) )
string(REGEX MATCH "[0-9]+" OCC_MAJOR ${OCC_MAJOR}) string(REGEX MATCH "[0-9]+" OCC_MAJOR ${OCC_MAJOR})
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MINOR file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MINOR
REGEX "#define OCC_VERSION_MINOR.*" REGEX "#define OCC_VERSION_MINOR.*"
) )
string(REGEX MATCH "[0-9]+" OCC_MINOR ${OCC_MINOR}) string(REGEX MATCH "[0-9]+" OCC_MINOR ${OCC_MINOR})
file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MAINT file(STRINGS ${OCC_INCLUDE_DIR}/Standard_Version.hxx OCC_MAINT
REGEX "#define OCC_VERSION_MAINTENANCE.*" REGEX "#define OCC_VERSION_MAINTENANCE.*"
) )
string(REGEX MATCH "[0-9]+" OCC_MAINT ${OCC_MAINT}) string(REGEX MATCH "[0-9]+" OCC_MAINT ${OCC_MAINT})
set(OCC_VERSION_STRING "${OCC_MAJOR}.${OCC_MINOR}.${OCC_MAINT}") set(OCC_VERSION_STRING "${OCC_MAJOR}.${OCC_MINOR}.${OCC_MAINT}")
endif(OCC_INCLUDE_DIR) endif ()
# handle the QUIETLY and REQUIRED arguments and set OCC_FOUND to TRUE if # handle the QUIETLY and REQUIRED arguments and set OCC_FOUND to TRUE if
# all listed variables are TRUE # all listed variables are TRUE
include(FindPackageHandleStandardArgs) include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OCC REQUIRED_VARS OCC_INCLUDE_DIR VERSION_VAR OCC_VERSION_STRING) find_package_handle_standard_args(OCC REQUIRED_VARS OCC_INCLUDE_DIR VERSION_VAR OCC_VERSION_STRING)
if(OCC_FOUND) if (OCC_FOUND)
set(OCC_LIBRARIES set(OCC_LIBRARIES
TKFillet TKFillet
TKMesh TKMesh
TKernel TKernel
TKG2d TKG2d
TKG3d TKG3d
TKMath TKMath
TKShHealing TKShHealing
TKXSBase TKXSBase
TKBool TKBool
TKBO TKBO
TKBRep TKBRep
TKTopAlgo TKTopAlgo
TKGeomAlgo TKGeomAlgo
TKGeomBase TKGeomBase
TKOffset TKOffset
TKPrim TKPrim
TKHLR TKHLR
TKFeat TKFeat
) )
set(OCC_OCAF_LIBRARIES set(OCC_OCAF_LIBRARIES
TKBin TKBin
TKBinL TKBinL
TKCAF TKCAF
TKXCAF TKXCAF
TKLCAF TKLCAF
TKVCAF TKVCAF
TKCDF TKCDF
TKMeshVS TKMeshVS
TKService TKService
TKV3d TKV3d
) )
if(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0) if (NOT OCC_VERSION_STRING VERSION_LESS 7.5.0)
list(APPEND OCC_OCAF_LIBRARIES TKRWMesh) list(APPEND OCC_OCAF_LIBRARIES TKRWMesh)
endif(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0) endif ()
if(OCC_VERSION_STRING VERSION_LESS 7.8.0) if (OCC_VERSION_STRING VERSION_LESS 7.8.0)
list(APPEND OCC_LIBRARIES TKIGES TKSTL TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP) list(APPEND OCC_LIBRARIES TKIGES TKSTL TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP)
list(APPEND OCC_OCAF_LIBRARIES TKXDESTEP TKXDEIGES) list(APPEND OCC_OCAF_LIBRARIES TKXDESTEP TKXDEIGES)
else(OCC_VERSION_STRING VERSION_LESS 7.8.0) else ()
list(APPEND OCC_LIBRARIES TKDESTEP TKDEIGES TKDEGLTF TKDESTL) list(APPEND OCC_LIBRARIES TKDESTEP TKDEIGES TKDEGLTF TKDESTL)
endif(OCC_VERSION_STRING VERSION_LESS 7.8.0) endif ()
message(STATUS "-- Found OCE/OpenCASCADE version: ${OCC_VERSION_STRING}") message(STATUS "-- Found OpenCASCADE version: ${OCC_VERSION_STRING}")
message(STATUS "-- OCE/OpenCASCADE include directory: ${OCC_INCLUDE_DIR}") message(STATUS "-- OpenCASCADE include directory: ${OCC_INCLUDE_DIR}")
message(STATUS "-- OCE/OpenCASCADE shared libraries directory: ${OCC_LIBRARY_DIR}") message(STATUS "-- OpenCASCADE shared libraries directory: ${OCC_LIBRARY_DIR}")
else(OCC_FOUND) endif ()
#message(SEND_ERROR "Neither OpenCASCADE Community Edition nor OpenCasCade were found: will not build CAD modules!")
endif(OCC_FOUND)

View File

@@ -1,11 +1,8 @@
macro(SetupOpenCasCade) macro(SetupOpenCasCade)
# -------------------------------- OpenCasCade --------------------------------
find_package(OCC) find_package(OCC)
if(NOT OCC_FOUND) if(NOT OCC_FOUND)
message(FATAL_ERROR "================================================================\n" message(FATAL_ERROR "================================================================\n"
"Neither OpenCASCADE Community Edition nor OpenCASCADE was found!\n" "OpenCASCADE not found!\n"
"================================================================\n") "================================================================\n")
endif(NOT OCC_FOUND) endif()
endmacro()
endmacro(SetupOpenCasCade)