-# Copyright (C) 2013-2019 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2024 CEA, EDF, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# Author: Roman NIKOLAEV
#
-# OpenCascade detection for Salome
+# OpenCASCADE detection for Salome
#
# !! Please read the generic detection procedure in SalomeMacros.cmake !!
#
SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(OpenCASCADE OpenCASCADE_INCLUDE_DIR 2)
ENDIF()
+SET(OpenCASCADE_SP_VERSION 0)
IF(OpenCASCADE_FOUND)
+
+ FIND_FILE(CAS_VERSION_FILE Standard_Version.hxx PATHS ${OpenCASCADE_INCLUDE_DIR})
+ FILE(STRINGS ${CAS_VERSION_FILE} _tmp REGEX "^ *#define OCC_VERSION_SERVICEPACK")
+ IF(_tmp)
+ STRING(REGEX MATCHALL "[0-9]+" _spComponents "${_tmp}")
+ LIST(LENGTH _spComponents _len)
+ IF(${_len} GREATER 0)
+ LIST(GET _spComponents 0 OpenCASCADE_SP_VERSION)
+ ENDIF()
+ ENDIF(_tmp)
IF(NOT CAS_FIND_QUIETLY)
- MESSAGE(STATUS "Found OpenCascade version: ${OpenCASCADE_VERSION}")
+ IF(${OpenCASCADE_SP_VERSION})
+ MESSAGE(STATUS "Found OpenCASCADE version: ${OpenCASCADE_VERSION}p${OpenCASCADE_SP_VERSION}")
+ ELSE()
+ MESSAGE(STATUS "Found OpenCASCADE version: ${OpenCASCADE_VERSION}")
+ ENDIF()
ENDIF()
# OPENCASCADE definitions
- SET(OpenCascade_DEFINITIONS ${OpenCASCADE_C_FLAGS} ${OpenCASCADE_CXX_FLAGS})
- SET(OpenCascade_LDFLAGS ${OpenCASCADE_LINKER_FLAGS})
+ SET(OpenCASCADE_DEFINITIONS ${OpenCASCADE_C_FLAGS} ${OpenCASCADE_CXX_FLAGS})
+ SET(OpenCASCADE_LDFLAGS ${OpenCASCADE_LINKER_FLAGS})
SALOME_ACCUMULATE_HEADERS(OpenCASCADE_INCLUDE_DIR)
SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${OpenCASCADE_LIBRARY_DIR})
# In Debug ${OpenCASCADE_BINARY_DIR} and ${OpenCASCADE_LIBRARY_DIR} are stored in the
# config file w/o "d" suffix. To be checked with latest version of OCCT.
SET(SUFF "")
- IF(${OpenCASCADE_BUILD_TYPE} STREQUAL "Debug")
+ IF(${OpenCASCADE_BUILD_WITH_DEBUG})
SET(SUFF "d")
ENDIF()
SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${OpenCASCADE_BINARY_DIR}${SUFF})
IF(NOT CAS_FIND_QUIETLY)
MESSAGE(STATUS "Could not find OpenCASCADE ...")
ENDIF()
-ENDIF()
\ No newline at end of file
+ENDIF()