Salome HOME
Merge branch 'V7_5_BR'
[tools/documentation.git] / CMakeModules / FindGraphviz.cmake
index d25cffe6330423fc61081303eaca21cab8cffb2e..5457f7a66fbc3c602d9d94aa7ddd930f1b9f42ef 100644 (file)
@@ -3,10 +3,12 @@
 # Output variables: GRAPHVIZ_EXECUTABLE   - where is executable 'dot' takes place.
 #                  GRAPHVIZ_INCLUDE_DIRS - where to find headers.
 #                  GRAPHVIZ_LIBRARIES    - where to get libraries.
-#                  GRAPHVIZ_FOUND        - True if Graphiz was found.
+#                  GRAPHVIZ_VERSION      - Graphviz version
+#                  GRAPHVIZ_DEFINITIONS  - Graphviz definitions
+#                  GRAPHVIZ_FOUND        - True if Graphviz was found.
 #
 ###########################################################################
-# Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -14,7 +16,7 @@
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-###########################################################################
 
 FIND_PROGRAM(GRAPHVIZ_EXECUTABLE dot)
 
-FIND_PATH(GRAPHVIZ_INCLUDE_DIR NAMES graphviz/graph.h)
+FIND_PATH(GRAPHVIZ_INCLUDE_DIR NAMES graphviz/cgraph.h)
 SET(GRAPHVIZ_INCLUDE_DIRS ${GRAPHVIZ_INCLUDE_DIR} ${GRAPHVIZ_INCLUDE_DIR}/graphviz)
 
 FIND_LIBRARY(GRAPHVIZ_cdt_LIBRARY      NAMES cdt PATH_SUFFIXES bin)
-FIND_LIBRARY(GRAPHVIZ_graph_LIBRARY    NAMES graph PATH_SUFFIXES bin)
+FIND_LIBRARY(GRAPHVIZ_graph_LIBRARY    NAMES cgraph PATH_SUFFIXES bin)
 FIND_LIBRARY(GRAPHVIZ_gvc_LIBRARY      NAMES gvc PATH_SUFFIXES bin)
 FIND_LIBRARY(GRAPHVIZ_pathplan_LIBRARY NAMES pathplan PATH_SUFFIXES bin)
 
@@ -46,6 +47,16 @@ SET(GRAPHVIZ_LIBRARIES
   ${GRAPHVIZ_pathplan_LIBRARY}
   )
 
+IF(GRAPHVIZ_EXECUTABLE)
+  EXECUTE_PROCESS(COMMAND ${GRAPHVIZ_EXECUTABLE} "-V" ERROR_VARIABLE GRAPHVIZ_VERSION ERROR_STRIP_TRAILING_WHITESPACE)
+  STRING(REGEX REPLACE ".* ([0-9.]+) .*" "\\1" GRAPHVIZ_VERSION "${GRAPHVIZ_VERSION}")
+ENDIF()
+
+SET(GRAPHVIZ_DEFINITIONS)
+IF("${GRAPHVIZ_VERSION}" VERSION_LESS "2.36.0")
+  SET(GRAPHVIZ_DEFINITIONS -DWITH_CGRAPH)
+ENDIF()
+
 ## Don't detect cgraph on Windows
 #IF(NOT WIN32)
 #  FIND_LIBRARY(GRAPHVIZ_cgraph_LIBRARY   NAMES cgraph PATH_SUFFIXES bin)