build: cmake: Improve OCC_LIBRARY_DIR detection

This commit is contained in:
Priit Laes
2021-03-06 17:13:47 +02:00
committed by Thomas Krijnen
parent e4640df6f0
commit 28d168b96c
+15 -6
View File
@@ -227,7 +227,7 @@ 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
@@ -253,9 +253,18 @@ SET(OPENCASCADE_LIBRARY_NAMES
) )
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}")
@@ -263,9 +272,9 @@ 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