From: rnv Date: Wed, 15 Feb 2017 15:07:01 +0000 (+0300) Subject: Migration to OpenCASCADE CMake configuration: continuation X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=54a7b9bdff2186bc3c9e3f8bca11a01970fe1fdd;p=tools%2Fconfiguration.git Migration to OpenCASCADE CMake configuration: continuation --- diff --git a/cmake/FindSalomeOpenCASCADE.cmake b/cmake/FindSalomeOpenCASCADE.cmake index 84699fd..63f0189 100644 --- a/cmake/FindSalomeOpenCASCADE.cmake +++ b/cmake/FindSalomeOpenCASCADE.cmake @@ -24,54 +24,47 @@ # !! Please read the generic detection procedure in SalomeMacros.cmake !! # +# TODO: RNV: Check different OCCT layouts !!! SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(OpenCASCADE OpenCASCADE_INCLUDE_DIR 2) IF(OpenCASCADE_FOUND) - SET(OPENCASCADE_VERSION_STR "${OpenCASCADE_MAJOR_VERSION}.${OpenCASCADE_MINOR_VERSION}.${OpenCASCADE_MAINTENANCE_VERSION}") IF(NOT CAS_FIND_QUIETLY) - IF(OpenCASCADE_DEVELOPMENT_VERSION) - MESSAGE(STATUS "Found OpenCascade version: ${OPENCASCADE_VERSION_STR} (development)") - ELSE() - MESSAGE(STATUS "Found OpenCascade version: ${OPENCASCADE_VERSION_STR}") - ENDIF() + MESSAGE(STATUS "Found OpenCascade version: ${OpenCASCADE_VERSION}") ENDIF() - # OPENCASCADE libraries - SET(OPENCASCADE_INCLUDE_DIRS ${OpenCASCADE_INCLUDE_DIR}) - SET(OPENCASCADE_LIBRARIES ${OpenCASCADE_LIBRARIES}) - SET(OPENCASCADE_KERNEL ${OpenCASCADE_FoundationClasses_LIBRARIES}) - SET(OPENCASCADE_VISUALIZATION ${OpenCASCADE_Visualization_LIBRARIES}) - SET(OPENCASCADE_MODELINGDATA ${OpenCASCADE_ModelingData_LIBRARIES}) - SET(OPENCASCADE_MODELINGALGO ${OpenCASCADE_ModelingAlgorithms_LIBRARIES}) - SET(OPENCASCADE_OCAF ${OpenCASCADE_ApplicationFramework_LIBRARIES}) - # OPENCASCADE definitions - SET(OPENCASCADE_DEFINITIONS ${OpenCASCADE_C_FLAGS} ${OpenCASCADE_CXX_FLAGS} ${OpenCASCADE_LINKER_FLAGS} -DLIN) - SET(OPENCASCADE_DEFINITIONS ${OPENCASCADE_DEFINITIONS} -DLIN) # Is it really necessary ??? + SET(OpenCascade_DEFINITIONS ${OpenCASCADE_C_FLAGS} ${OpenCASCADE_CXX_FLAGS}) + SET(OpenCascade_LDFLAGS ${OpenCASCADE_LINKER_FLAGS}) # Workaround: detect and add freetype to CAS_INCLUDE_DIRS # It will be suppressed after the correction of the several bugs in # the OCCT CMake configuration. - SET(Freetype_DIR $ENV{FREETYPE_ROOT_DIR}) - FIND_PACKAGE(Freetype) + IF(OpenCASCADE_VERSION VERSION_LESS "7.1.1") + SET(Freetype_DIR $ENV{FREETYPE_ROOT_DIR}) + FIND_PACKAGE(Freetype) - # Standard CMake Findfreetype.cmake doesn't find ft2build.h, do it manually: - # 1. Find custom freetype - FIND_PATH( FREETYPE_INCLUDE_DIR_ft2build ft2build.h + # Standard CMake Findfreetype.cmake doesn't find ft2build.h, do it manually: + # 1. Find custom freetype + FIND_PATH( FREETYPE_INCLUDE_DIR_ft2build ft2build.h PATHS $ENV{FREETYPE_ROOT_DIR} PATH_SUFFIXES include/freetype2 include freetype2 NO_DEFAULT_PATH ) - # 2. Find native freetype, if custom doesn't found: - IF(NOT FREETYPE_INCLUDE_DIR_ft2build) - FIND_PATH( FREETYPE_INCLUDE_DIR_ft2build ft2build.h - PATH_SUFFIXES include/freetype2 include freetype2 ) + # 2. Find native freetype, if custom doesn't found: + IF(NOT FREETYPE_INCLUDE_DIR_ft2build) + FIND_PATH( FREETYPE_INCLUDE_DIR_ft2build ft2build.h + PATH_SUFFIXES include/freetype2 include freetype2 ) + ENDIF() + SET(OpenCASCADE_INCLUDE_DIR ${OpenCASCADE_INCLUDE_DIR} ${FREETYPE_INCLUDE_DIR_freetype2} ${FREETYPE_INCLUDE_DIR_ft2build}) ENDIF() - SET(OPENCASCADE_INCLUDE_DIRS ${OPENCASCADE_INCLUDE_DIRS} ${FREETYPE_INCLUDE_DIR_freetype2} ${FREETYPE_INCLUDE_DIR_ft2build}) # End of workaround - + + SALOME_ACCUMULATE_HEADERS(OpenCASCADE_INCLUDE_DIR) + SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${OpenCASCADE_LIBRARY_DIR}) + ELSE() + # TODO: Detect OpenCASCADE if it is distributed without CMake configuration. IF(NOT CAS_FIND_QUIETLY) MESSAGE(STATUS "Could not find OpenCASCADE ...") ENDIF()