Salome HOME
Fix problems with freetype includes.
[tools/configuration.git] / cmake / FindSalomeCAS.cmake
old mode 100644 (file)
new mode 100755 (executable)
index 186df6c..37c7028
@@ -26,7 +26,7 @@
 
 SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(CAS CAS_INCLUDE_DIRS 1)
 MARK_AS_ADVANCED(CAS_INCLUDE_DIRS
-  CAS_BinLPlugin CAS_BinTObjPlugin   CAS_BinXCAFPlugin CAS_FWOSPlugin CAS_PTKernel
+  CAS_BinLPlugin CAS_BinTObjPlugin   CAS_BinXCAFPlugin CAS_PTKernel
   CAS_StdLPlugin CAS_StdPlugin CAS_TKAdvTools  CAS_TKBin   CAS_TKBinL    CAS_TKBinTObj   
   CAS_TKBinXCAF   CAS_TKBO    CAS_TKBool    CAS_TKBRep    CAS_TKCAF   CAS_TKCDF   CAS_TKernel   
   CAS_TKFeat    CAS_TKFillet    CAS_TKG2d   CAS_TKG3d   CAS_TKGeomAlgo    CAS_TKGeomBase    
@@ -38,13 +38,37 @@ MARK_AS_ADVANCED(CAS_INCLUDE_DIRS
   CAS_TKXmlXCAF   CAS_TKXSBase    CAS_XCAFPlugin    CAS_XmlLPlugin    CAS_XmlPlugin   CAS_XmlTObjPlugin   
   CAS_XmlXCAFPlugin CAS_Xmu)
 
+IF(CAS_VERSION_STR VERSION_LESS "7.0.1")
+  MARK_AS_ADVANCED(CAS_FWOSPlugin)
+ELSE()
+  MARK_AS_ADVANCED(CAS_TKStd)
+ENDIF()
 
 IF(CAS_VERSION_STR VERSION_LESS "7.0")
   SET(CAS_STDPLUGIN TKStdSchema)
 ELSE()
   SET(CAS_STDPLUGIN TKStd)
-  SET(CAS_BINPLUGIN TKBin)\r
+  SET(CAS_BINPLUGIN TKBin)
+ENDIF()
+
+# Workaround: detect and add freetype to CAS_INCLUDE_DIRS
+# It will be suppressed after migration OCCT detection procedure to CONFIG mode
+# and the correction of the several bugs in the OCCT CMake configuration.
+SET(Freetype_DIR $ENV{FREETYPE_ROOT_DIR})
+# 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 )
 ENDIF()
+SET(CAS_INCLUDE_DIRS ${CAS_INCLUDE_DIRS} ${FREETYPE_INCLUDE_DIR_freetype2} ${FREETYPE_INCLUDE_DIR_ft2build})
+# End of workaround
 
 IF(CAS_FOUND)
   SALOME_ACCUMULATE_HEADERS(CAS_INCLUDE_DIRS)