]> SALOME platform Git repositories - tools/configuration.git/commitdiff
Salome HOME
Migration to OpenCASCADE CMake configuration: continuation
authorrnv <rnv@opencascade.com>
Wed, 15 Feb 2017 15:07:01 +0000 (18:07 +0300)
committerrnv <rnv@opencascade.com>
Tue, 30 Jan 2018 14:26:11 +0000 (17:26 +0300)
cmake/FindSalomeOpenCASCADE.cmake

index 84699fd5ea6158fe67fdebe0d9634a35d4d6c103..63f01896433b390697cdf17d4cef0bf44150c301 100644 (file)
 #  !! 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()