mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-22 22:22:26 +00:00
build: cmake: Improve OCC_LIBRARY_DIR detection
This commit is contained in:
committed by
Thomas Krijnen
parent
e4640df6f0
commit
28d168b96c
+35
-26
@@ -224,48 +224,57 @@ endfunction()
|
|||||||
if(BUILD_IFCGEOM)
|
if(BUILD_IFCGEOM)
|
||||||
|
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
add_debug_variants(LIBXML2_LIBRARIES "${LIBXML2_LIBRARIES}" d)
|
add_debug_variants(LIBXML2_LIBRARIES "${LIBXML2_LIBRARIES}" d)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Open CASCADE headers
|
# Open CASCADE
|
||||||
IF("${OCC_INCLUDE_DIR}" STREQUAL "")
|
IF("${OCC_INCLUDE_DIR}" STREQUAL "")
|
||||||
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
|
FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx
|
||||||
[PATHS
|
[PATHS
|
||||||
/usr/include/occt
|
/usr/include/occt
|
||||||
/usr/include/oce
|
/usr/include/oce
|
||||||
/usr/include/opencascade
|
/usr/include/opencascade
|
||||||
]
|
]
|
||||||
REQUIRED
|
REQUIRED
|
||||||
)
|
)
|
||||||
IF(OCC_INCLUDE_DIR)
|
IF(OCC_INCLUDE_DIR)
|
||||||
MESSAGE(STATUS "Found Open CASCADE include files in: ${OCC_INCLUDE_DIR}")
|
MESSAGE(STATUS "Found Open CASCADE include files in: ${OCC_INCLUDE_DIR}")
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(FATAL_ERROR "Unable to find Open CASCADE include directory, specify OCC_INCLUDE_DIR manually.")
|
MESSAGE(FATAL_ERROR "Unable to find Open CASCADE include directory, specify OCC_INCLUDE_DIR manually.")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(OCC_INCLUDE_DIR ${OCC_INCLUDE_DIR} CACHE FILEPATH "Open CASCADE header files")
|
SET(OCC_INCLUDE_DIR ${OCC_INCLUDE_DIR} CACHE FILEPATH "Open CASCADE header files")
|
||||||
MESSAGE(STATUS "Looking for Open CASCADE include files in: ${OCC_INCLUDE_DIR}")
|
MESSAGE(STATUS "Looking for Open CASCADE include files in: ${OCC_INCLUDE_DIR}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET(OPENCASCADE_LIBRARY_NAMES
|
SET(OPENCASCADE_LIBRARY_NAMES
|
||||||
TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO
|
TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO
|
||||||
TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset TKHLR
|
TKFillet TKSTEP TKSTEPBase TKSTEPAttr TKXSBase TKSTEP209 TKIGES TKOffset TKHLR
|
||||||
)
|
)
|
||||||
|
|
||||||
IF("${OCC_LIBRARY_DIR}" STREQUAL "")
|
IF("${OCC_LIBRARY_DIR}" STREQUAL "")
|
||||||
SET(OCC_LIBRARY_DIR "/usr/lib/" CACHE FILEPATH "Open CASCADE library files")
|
find_library(OCC_LIBRARY TKernel
|
||||||
MESSAGE(STATUS "Looking for Open CASCADE library files in: ${OCC_LIBRARY_DIR}")
|
[PATHS
|
||||||
MESSAGE(STATUS "Use OCC_LIBRARY_DIR to specify another directory")
|
/usr/lib
|
||||||
|
]
|
||||||
|
REQUIRED
|
||||||
|
)
|
||||||
|
IF(OCC_LIBRARY)
|
||||||
|
GET_FILENAME_COMPONENT(OCC_LIBRARY_DIR ${OCC_LIBRARY} PATH)
|
||||||
|
MESSAGE(STATUS "Found Open CASCADE library files in: ${OCC_LIBRARY_DIR}")
|
||||||
|
ELSE()
|
||||||
|
MESSAGE(FATAL_ERROR "Unable find Open CASCADE library directory, specify OCC_LIBRARY_DIR manually.")
|
||||||
|
ENDIF()
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(OCC_LIBRARY_DIR ${OCC_LIBRARY_DIR} CACHE FILEPATH "Open CASCADE library files")
|
SET(OCC_LIBRARY_DIR ${OCC_LIBRARY_DIR} CACHE FILEPATH "Open CASCADE library files")
|
||||||
MESSAGE(STATUS "Looking for Open CASCADE library files in: ${OCC_LIBRARY_DIR}")
|
MESSAGE(STATUS "Looking for Open CASCADE library files in: ${OCC_LIBRARY_DIR}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
FIND_LIBRARY(libTKernel NAMES TKernel TKerneld PATHS ${OCC_LIBRARY_DIR} NO_DEFAULT_PATH)
|
FIND_LIBRARY(libTKernel NAMES TKernel TKerneld PATHS ${OCC_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||||
IF(libTKernel)
|
IF(libTKernel)
|
||||||
MESSAGE(STATUS "Library files found")
|
MESSAGE(STATUS "Required Open Cascade Library files found")
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(FATAL_ERROR "Unable to find library files, aborting")
|
MESSAGE(FATAL_ERROR "Unable to find Open Cascade library files, aborting")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Use the found libTKernel as a template for all other OCC libraries
|
# Use the found libTKernel as a template for all other OCC libraries
|
||||||
|
|||||||
Reference in New Issue
Block a user