--Boundary-00=_kX60Kh/EDj3rEXh Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello all, It seems that kgraphviewer does not compile with GraphViz prior to version= =20 2.22. To overcome this problem, I have changed the FindGraphViz.cmake and t= he=20 main extragear-graphics CMakeLists.txt to check the version. But, as I'm=20 really not a CMakeLists expert, I'd like to have your feelings about this=20 patch before commiting. Regards, Ga=C3=ABl P.S.: I got the version checking code from FindQt4.cmake in the cmake packa= ge. =2D-=20 KsirK - a world domination strategy game=20 http://techbase.kde.org/Projects/Games/Tactic_and_Strategy/KsirK KGraphViewer - a GraphViz dot graphs viewer and editor based on a reusable= =20 part http://extragear.kde.org/apps/kgraphviewer --Boundary-00=_kX60Kh/EDj3rEXh Content-Type: text/x-patch; charset="UTF-8"; name="patch.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch.diff" Index: cmake/modules/FindGraphViz.cmake =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- cmake/modules/FindGraphViz.cmake (r=C3=A9vision 1009752) +++ cmake/modules/FindGraphViz.cmake (copie de travail) @@ -90,4 +90,60 @@ endif ( graphviz_INCLUDE_DIRECTORIES AND graphviz_GVC_LIBRARY AND graphviz_CDT_LIBRARY AND graphviz_GRAPH_LIBRARY AND graphviz_PATHPLAN_LIBRARY ) =2D =20 \ No newline at end of file + + +find_program(DOT dot) + +if (DOT) + +EXECUTE_PROCESS(COMMAND dot -V + OUTPUT_VARIABLE _dot_query_output + RESULT_VARIABLE _dot_result + ERROR_VARIABLE _dot_query_output ) + +IF(_dot_result MATCHES 0) + STRING(REGEX REPLACE ".*([0-9]+\\.[0-9]+\\.[0-9]+).*" "\\1" GRAPHVIZVERS= ION "${_dot_query_output}" ) +ELSE(_dot_result MATCHES 0) + SET(_dot_query_output) +ENDIF(_dot_result MATCHES 0) +IF (GRAPHVIZVERSION) + +# we need at least version 2.22.0 +IF (NOT GRAPHVIZ_MIN_VERSION) +SET(GRAPHVIZ_MIN_VERSION "2.22.0") +ENDIF (NOT GRAPHVIZ_MIN_VERSION) + +#now parse the parts of the user given version string into variables +STRING(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" req_graphviz_major_vers "${= GRAPHVIZ_MIN_VERSION}") +IF (NOT req_graphviz_major_vers) +MESSAGE( FATAL_ERROR "Invalid GraphViz version string given: \"${GRAPHVIZ_= MIN_VERSION}\", expected e.g. \"2.22.0\"") +ENDIF (NOT req_graphviz_major_vers) + +# now parse the parts of the user given version string into variables +STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" req_graphviz_majo= r_vers "${GRAPHVIZ_MIN_VERSION}") +STRING(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+" "\\1" req_graphviz_mino= r_vers "${GRAPHVIZ_MIN_VERSION}") +STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_graphviz_patc= h_vers "${GRAPHVIZ_MIN_VERSION}") + +IF (NOT req_graphviz_major_vers EQUAL 2) +MESSAGE( FATAL_ERROR "Invalid GraphViz version string given: \"${GRAPHVIZ_= MIN_VERSION}\", major version 4 is required, e.g. \"2.22.0\"") +ENDIF (NOT req_graphviz_major_vers EQUAL 2) + +# and now the version string given by qmake +STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" GRAPHVIZ_VERSIO= N_MAJOR "${GRAPHVIZVERSION}") +STRING(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+.*" "\\1" GRAPHVIZ_VERSIO= N_MINOR "${GRAPHVIZVERSION}") +STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" GRAPHVIZ_VERSIO= N_PATCH "${GRAPHVIZVERSION}") + +# compute an overall version number which can be compared at once +MATH(EXPR req_vers "${req_graphviz_major_vers}*10000 + ${req_graphviz_mino= r_vers}*100 + ${req_graphviz_patch_vers}") +MATH(EXPR found_vers "${GRAPHVIZ_VERSION_MAJOR}*10000 + ${GRAPHVIZ_VERSION= _MINOR}*100 + ${GRAPHVIZ_VERSION_PATCH}") + +IF (found_vers LESS req_vers) +SET(graphviz_FOUND FALSE) +SET(GRAPHVIZ_INSTALLED_VERSION_TOO_OLD TRUE) +ELSE (found_vers LESS req_vers) +SET(graphviz_FOUND TRUE) +ENDIF (found_vers LESS req_vers) +ENDIF (GRAPHVIZVERSION) + + +endif (DOT) Index: CMakeLists.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- CMakeLists.txt (r=C3=A9vision 1034467) +++ CMakeLists.txt (copie de travail) @@ -61,8 +61,13 @@ =20 if(Boost_FOUND) if(graphviz_FOUND) + message (STATUS "GraphViz was found, building kgraphviewer") macro_optional_add_subdirectory(kgraphviewer) =2D endif(graphviz_FOUND) + else(graphviz_FOUND) + message (STATUS "GraphViz was not found, cannot build kgraphviewer") + endif(graphviz_FOUND) +else(Boost_FOUND) + message (STATUS "Boost was not found, cannot build kgraphviewer") endif(Boost_FOUND) =20 if(OPENGL_FOUND AND OPENGL_GLU_FOUND) --Boundary-00=_kX60Kh/EDj3rEXh Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Kde-extra-gear mailing list Kde-extra-gear@kde.org https://mail.kde.org/mailman/listinfo/kde-extra-gear --Boundary-00=_kX60Kh/EDj3rEXh--