From 8f7873c57495707ccbdad488eab21356bf5496d7 Mon Sep 17 00:00:00 2001 From: mquinson Date: Sat, 27 Nov 2010 17:42:56 +0000 Subject: [PATCH] Kill enable_graphviz cmake variable It was used to get settings from user (whether this should be forcefully disabled or autodetected), and to get the result of autodetection. Now, graphviz stuff is searched all the time, and if a runable version is found (variable HAVE_GRAPHVIZ set to 1 or 0), the dot loader of simdag is integrated in the lib. This is closer to the spirit of configuration stuff, IMHO. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8696 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- buildtools/Cmake/CompleteInFiles.cmake | 58 ------------------- buildtools/Cmake/DefinePackages.cmake | 9 +-- buildtools/Cmake/MakeExeLib.cmake | 12 ++-- buildtools/Cmake/MakeExeLibWin.cmake | 6 +- buildtools/Cmake/Modules/FindGraphviz.cmake | 62 ++++++++++++++++++++- buildtools/Cmake/Option.cmake | 1 - buildtools/Cmake/PrintArgs.cmake | 6 +- 7 files changed, 75 insertions(+), 79 deletions(-) diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index ad36f8a4a6..7a8ae342f7 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -7,9 +7,7 @@ include(CheckIncludeFile) include(CheckIncludeFiles) include(CheckLibraryExists) include(TestBigEndian) -if(enable_graphviz) include(FindGraphviz) -endif(enable_graphviz) TEST_BIG_ENDIAN(BIGENDIAN) # Checks for header libraries functions. @@ -199,62 +197,6 @@ else(NOT enable_gtnets OR enable_supernovae) endif(NOT enable_gtnets OR enable_supernovae) #-------------------------------------------------------------------------------------------------- -### Initialize of cgraph -if(enable_graphviz AND HAVE_CDT_LIB) -if(HAVE_CGRAPH_LIB OR HAVE_AGRAPH_LIB) - - if(HAVE_AGRAPH_LIB) - string(REGEX REPLACE "/libagraph.*" "" lib_graphviz ${HAVE_AGRAPH_LIB}) - else(HAVE_AGRAPH_LIB) - if(HAVE_CGRAPH_LIB) - string(REGEX REPLACE "/libcgraph.*" "" lib_graphviz ${HAVE_CGRAPH_LIB}) - endif(HAVE_CGRAPH_LIB) - endif(HAVE_AGRAPH_LIB) - - if(HAVE_GRAPH_H OR HAVE_AGRAPH_H OR HAVE_CGRAPH_H) - - if(HAVE_GRAPH_H) - string(REPLACE "/graphviz/graph.h" "" file_graphviz_h ${HAVE_GRAPH_H}) - string(REPLACE "/graphviz" "" file_graphviz_h ${file_graphviz_h}) - set(GRAPH_H 1) - endif(HAVE_GRAPH_H) - - if(HAVE_AGRAPH_H) - string(REPLACE "/graphviz/agraph.h" "" file_graphviz_h ${HAVE_AGRAPH_H}) - string(REPLACE "/graphviz" "" file_graphviz_h ${file_graphviz_h}) - set(AGRAPH_H 1) - endif(HAVE_AGRAPH_H) - - if(HAVE_CGRAPH_H) - string(REPLACE "/graphviz/cgraph.h" "" file_graphviz_h ${HAVE_CGRAPH_H}) - string(REPLACE "/graphviz" "" file_graphviz_h ${file_graphviz_h}) - set(CGRAPH_H 1) - endif(HAVE_CGRAPH_H) - - string(REGEX MATCH "-I${file_graphviz_h} " operation "${CMAKE_C_FLAGS}") - if(NOT operation) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${file_graphviz_h} ") - endif(NOT operation) - - string(REGEX MATCH "-I${file_graphviz_h}/graphviz " operation "${CMAKE_C_FLAGS}") - if(NOT operation) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${file_graphviz_h}/graphviz ") - endif(NOT operation) - - string(REGEX MATCH "-L${lib_graphviz} " operation "${CMAKE_C_FLAGS}") - if(NOT operation) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${lib_graphviz} ") - endif(NOT operation) - - else(HAVE_GRAPH_H OR HAVE_AGRAPH_H OR HAVE_CGRAPH_H) - set(enable_graphviz "0") - endif(HAVE_GRAPH_H OR HAVE_AGRAPH_H OR HAVE_CGRAPH_H) - -else(HAVE_CGRAPH_LIB OR HAVE_AGRAPH_LIB) - set(enable_graphviz "0") -endif(HAVE_CGRAPH_LIB OR HAVE_AGRAPH_LIB) - -endif(enable_graphviz AND HAVE_CDT_LIB) #-------------------------------------------------------------------------------------------------- ### Initialize of pcre find_library(PATH_PCRE_LIB pcre) diff --git a/buildtools/Cmake/DefinePackages.cmake b/buildtools/Cmake/DefinePackages.cmake index 8e4a66eb68..06a9b922da 100644 --- a/buildtools/Cmake/DefinePackages.cmake +++ b/buildtools/Cmake/DefinePackages.cmake @@ -269,14 +269,11 @@ set(SIMDAG_SRC src/simdag/sd_workstation.c src/simdag/sd_daxloader.c ) -if(enable_graphviz AND HAVE_CDT_LIB) -if(HAVE_AGRAPH_H OR HAVE_CGRAPH_H) +if(HAVE_GRAPHVIZ) set(SIMDAG_SRC - ${SIMDAG_SRC} - src/simdag/sd_dotloader.c + ${SIMDAG_SRC} src/simdag/sd_dotloader.c ) -endif(HAVE_AGRAPH_H OR HAVE_CGRAPH_H) -endif(enable_graphviz AND HAVE_CDT_LIB) +endif(HAVE_GRAPHVIZ) set(GRAS_COMMON_SRC src/gras/gras.c diff --git a/buildtools/Cmake/MakeExeLib.cmake b/buildtools/Cmake/MakeExeLib.cmake index 54e1388c95..38c5134c58 100644 --- a/buildtools/Cmake/MakeExeLib.cmake +++ b/buildtools/Cmake/MakeExeLib.cmake @@ -84,8 +84,7 @@ if(HAVE_LUA) ) endif(HAVE_LUA) -if(enable_graphviz AND HAVE_CDT_LIB) -if(HAVE_AGRAPH_H OR HAVE_CGRAPH_H) +if(HAVE_GRAPHVIZ) if(HAVE_CGRAPH_LIB) SET(SIMGRID_DEP "${SIMGRID_DEP} -lcgraph") @@ -95,8 +94,7 @@ if(HAVE_AGRAPH_H OR HAVE_CGRAPH_H) endif(HAVE_AGRAPH_LIB) endif(HAVE_CGRAPH_LIB) -endif(HAVE_AGRAPH_H OR HAVE_CGRAPH_H) -endif(enable_graphviz AND HAVE_CDT_LIB) +endif(HAVE_GRAPHVIZ) if(HAVE_GTNETS) SET(SIMGRID_DEP "${SIMGRID_DEP} -lgtnets") @@ -199,9 +197,9 @@ add_subdirectory(${PROJECT_DIRECTORY}/examples/amok/saturate) add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag) add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/dax) -if(enable_graphviz) -add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/dot) -endif(enable_graphviz) +if(HAVE_GRAPHVIZ) + add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/dot) +endif(HAVE_GRAPHVIZ) add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/metaxml) add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/properties) add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/scheduling) diff --git a/buildtools/Cmake/MakeExeLibWin.cmake b/buildtools/Cmake/MakeExeLibWin.cmake index 5ca686d4c9..fb2193d570 100644 --- a/buildtools/Cmake/MakeExeLibWin.cmake +++ b/buildtools/Cmake/MakeExeLibWin.cmake @@ -99,9 +99,9 @@ add_subdirectory(${PROJECT_DIRECTORY}/examples/amok/saturate) add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag) add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/dax) -if(enable_graphviz) -add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/dot) -endif(enable_graphviz) +if(HAVE_GRAPHVIZ) + add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/dot) +endif(HAVE_GRAPHVIZ) add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/metaxml) add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/properties) add_subdirectory(${PROJECT_DIRECTORY}/examples/simdag/scheduling) diff --git a/buildtools/Cmake/Modules/FindGraphviz.cmake b/buildtools/Cmake/Modules/FindGraphviz.cmake index 27ae555c44..ba664ae53e 100644 --- a/buildtools/Cmake/Modules/FindGraphviz.cmake +++ b/buildtools/Cmake/Modules/FindGraphviz.cmake @@ -92,4 +92,64 @@ mark_as_advanced(HAVE_GRAPH_H) mark_as_advanced(HAVE_GRAPH_LIB) mark_as_advanced(HAVE_CGRAPH_LIB) mark_as_advanced(HAVE_AGRAPH_LIB) -mark_as_advanced(HAVE_CDT_LIB) \ No newline at end of file +mark_as_advanced(HAVE_CDT_LIB) + +### Initialize of cgraph +if(HAVE_CDT_LIB) +if(HAVE_CGRAPH_LIB OR HAVE_AGRAPH_LIB) + + if(HAVE_AGRAPH_LIB) + string(REGEX REPLACE "/libagraph.*" "" lib_graphviz ${HAVE_AGRAPH_LIB}) + else(HAVE_AGRAPH_LIB) + if(HAVE_CGRAPH_LIB) + string(REGEX REPLACE "/libcgraph.*" "" lib_graphviz ${HAVE_CGRAPH_LIB}) + endif(HAVE_CGRAPH_LIB) + endif(HAVE_AGRAPH_LIB) + + if(HAVE_GRAPH_H OR HAVE_AGRAPH_H OR HAVE_CGRAPH_H) + + if(HAVE_GRAPH_H) + string(REPLACE "/graphviz/graph.h" "" file_graphviz_h ${HAVE_GRAPH_H}) + string(REPLACE "/graphviz" "" file_graphviz_h ${file_graphviz_h}) + set(GRAPH_H 1) + endif(HAVE_GRAPH_H) + + if(HAVE_AGRAPH_H) + string(REPLACE "/graphviz/agraph.h" "" file_graphviz_h ${HAVE_AGRAPH_H}) + string(REPLACE "/graphviz" "" file_graphviz_h ${file_graphviz_h}) + set(AGRAPH_H 1) + endif(HAVE_AGRAPH_H) + + if(HAVE_CGRAPH_H) + string(REPLACE "/graphviz/cgraph.h" "" file_graphviz_h ${HAVE_CGRAPH_H}) + string(REPLACE "/graphviz" "" file_graphviz_h ${file_graphviz_h}) + set(CGRAPH_H 1) + endif(HAVE_CGRAPH_H) + + string(REGEX MATCH "-I${file_graphviz_h} " operation "${CMAKE_C_FLAGS}") + if(NOT operation) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${file_graphviz_h} ") + endif(NOT operation) + + string(REGEX MATCH "-I${file_graphviz_h}/graphviz " operation "${CMAKE_C_FLAGS}") + if(NOT operation) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${file_graphviz_h}/graphviz ") + endif(NOT operation) + + string(REGEX MATCH "-L${lib_graphviz} " operation "${CMAKE_C_FLAGS}") + if(NOT operation) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${lib_graphviz} ") + endif(NOT operation) + + set(HAVE_GRAPHVIZ "1") + else(HAVE_GRAPH_H OR HAVE_AGRAPH_H OR HAVE_CGRAPH_H) + set(HAVE_GRAPHVIZ "0") + endif(HAVE_GRAPH_H OR HAVE_AGRAPH_H OR HAVE_CGRAPH_H) + +else(HAVE_CGRAPH_LIB OR HAVE_AGRAPH_LIB) + set(HAVE_GRAPHVIZ "0") +endif(HAVE_CGRAPH_LIB OR HAVE_AGRAPH_LIB) + +endif(HAVE_CDT_LIB) + +mark_as_advanced(HAVE_GRAPHVIZ) \ No newline at end of file diff --git a/buildtools/Cmake/Option.cmake b/buildtools/Cmake/Option.cmake index 20422cbd7e..f33368ef06 100644 --- a/buildtools/Cmake/Option.cmake +++ b/buildtools/Cmake/Option.cmake @@ -45,7 +45,6 @@ option(enable_memcheck "Enable memcheck." off) option(enable_print_message "Enable print message during config." off) option(enable_model-checking "" off) option(enable_lib_static "" off) -option(enable_graphviz "" off) option(GRAS_IS_BROKEN "Set some tests are broken" off) if(enable_supernovae AND enable_model-checking) diff --git a/buildtools/Cmake/PrintArgs.cmake b/buildtools/Cmake/PrintArgs.cmake index f39bd0eb2a..2b4cc5cc36 100644 --- a/buildtools/Cmake/PrintArgs.cmake +++ b/buildtools/Cmake/PrintArgs.cmake @@ -133,7 +133,7 @@ if(enable_print_message) message("SED : ${SED_EXE}") message("PERL : ${PERL_EXECUTABLE}") endif(enable_maintainer_mode) - if(enable_graphviz) + if(HAVE_GRAPHVIZ) message("") message("libcdt : ${HAVE_CDT_LIB}") message("libagraph : ${HAVE_AGRAPH_LIB}") @@ -142,7 +142,7 @@ if(enable_print_message) message("cgraph.h : ${HAVE_CGRAPH_H}") message("libgraph : ${HAVE_GRAPH_LIB}") message("graph.h : ${HAVE_GRAPH_H}") - endif(enable_graphviz) + endif(HAVE_GRAPHVIZ) if(pipol_user) message("") message("ssh: ${HAVE_SSH}") @@ -197,7 +197,7 @@ message(" Supernovae mode: ${enable_supernovae}") message(" Model checking : ${enable_model-checking}") message(" Tracing mode : ${enable_tracing}") message(" Latency bound : ${enable_latency_bound_tracking}") -message(" Graphviz mode : ${enable_graphviz}") +message(" Graphviz mode : ${HAVE_GRAPHVIZ}") message(" Build SG doc : ${enable_doc}") message("") message(" Simgrid dependencies: ${SIMGRID_DEP}") -- 2.20.1