Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Be generic with cgraph.c so now no path to set.
authornavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 7 Jul 2010 09:36:08 +0000 (09:36 +0000)
committernavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 7 Jul 2010 09:36:08 +0000 (09:36 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7994 48e7efb5-ca39-0410-a469-dd3cf9ba447f

buildtools/Cmake/CompleteInFiles.cmake
buildtools/Cmake/MakeExeLib.cmake
buildtools/Cmake/Option.cmake
buildtools/Cmake/PrintArgs.cmake

index e61c78c..50b56fc 100644 (file)
@@ -6,11 +6,6 @@ include(TestBigEndian)
 
 TEST_BIG_ENDIAN(BIGENDIAN)
 
-set(CMAKE_REQUIRED_INCLUDES
-                       ${CGRAPH_PATH}
-                       ${CMAKE_REQUIRED_INCLUDES}
-                       )
-
 # Checks for header libraries functions.
 
 CHECK_LIBRARY_EXISTS(pthread   pthread_create          NO_DEFAULT_PATHS pthread)
@@ -43,7 +38,6 @@ CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H)
 CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H)
 CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H)
 CHECK_INCLUDE_FILE("ucontext.h" HAVE_UCONTEXT_H)
-CHECK_INCLUDE_FILE("graphviz/cgraph.h" HAVE_CGRAPH_H)
 
 CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
 CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP)
@@ -207,13 +201,6 @@ if(enable_java)
        endif(JAVA_COMPILE AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2)
 endif(enable_java)
 
-#--------------------------------------------------------------------------------------------------
-### Initialize of cgraph
-
-if(HAVE_CGRAPH_H)
-       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${CGRAPH_PATH} ")
-endif(HAVE_CGRAPH_H)
-
 #--------------------------------------------------------------------------------------------------
 ### Initialize of CONTEXT GTNETS
 if(NOT enable_gtnets OR enable_supernovae)
@@ -231,6 +218,30 @@ else(NOT enable_gtnets OR enable_supernovae)
        endif(COMPILE_GTNETS_VAR)
 endif(NOT enable_gtnets OR enable_supernovae)
 
+#--------------------------------------------------------------------------------------------------
+### Initialize of cgraph
+
+find_library(HAVE_CGRAPH_LIB cgraph)
+find_file(HAVE_CGRAPH_H graphviz/cgraph.h)
+mark_as_advanced(HAVE_CGRAPH_LIB)
+mark_as_advanced(HAVE_CGRAPH_H)
+
+if(HAVE_CGRAPH_LIB AND HAVE_CGRAPH_H)
+       string(REGEX REPLACE "libcgraph.*" "" lib_cgraph ${HAVE_CGRAPH_LIB})
+       string(REPLACE "graphviz/cgraph.h" "" file_cgraph_h ${HAVE_CGRAPH_H})
+       
+       string(REGEX MATCH "-L${lib_cgraph}" operation "${CMAKE_EXE_LINKER_FLAGS}")
+       if(NOT operation)
+               SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}-L${lib_cgraph} ")
+       endif(NOT operation)
+       
+       string(REGEX MATCH "-I${file_cgraph_h}" operation "${CMAKE_C_FLAGS}")
+       if(NOT operation)
+               SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${file_cgraph_h} ")
+       endif(NOT operation)
+       
+endif(HAVE_CGRAPH_LIB AND HAVE_CGRAPH_H)
+
 #--------------------------------------------------------------------------------------------------
 ### Initialize of CONTEXT THREADS
 
index ae81e3d..1bd3ded 100644 (file)
@@ -58,9 +58,9 @@ if(HAVE_LUA)
                          DEPENDS simgrid ${PROJECT_DIRECTORY}/examples/lua/simgrid.so)
 endif(HAVE_LUA)
 
-if(HAVE_CGRAPH_H)
+if(HAVE_CGRAPH_LIB AND HAVE_CGRAPH_H)
        SET(SIMGRID_DEP "${SIMGRID_DEP} -lcgraph")
-endif(HAVE_CGRAPH_H)
+endif(HAVE_CGRAPH_LIB AND HAVE_CGRAPH_H)
 
 if(HAVE_GTNETS)
        SET(SIMGRID_DEP "${SIMGRID_DEP} -lgtnets")
@@ -140,7 +140,7 @@ add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/priority)
 add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/masterslave)
 add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/trace)
 add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/tracing)
-add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/irc_isend)
+add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/icomms)
 
 if(HAVE_MC)
        add_subdirectory(${PROJECT_DIRECTORY}/examples/msg/mc)
index 5650bbd..11acfac 100644 (file)
@@ -1,20 +1,6 @@
 ### ARGs use -D[var]=[ON/OFF] or [1/0] or [true/false](see after)
 ### ex: cmake -Denable_java=ON -Denable_gtnets=ON ./
 
-if(APPLE AND NOT CGRAPH_PATH)
-       set(CGRAPH_PATH "/opt/local/include/graphviz" CACHE PATH "Path to cgraph.h")
-else(APPLE AND NOT CGRAPH_PATH)
-
-       if(EXISTS "/usr/include/graphviz")
-               set(include_graphviz "/usr/include/graphviz")
-       endif(EXISTS "/usr/include/graphviz")
-       if(EXISTS "/usr/local/include/graphviz")
-               set(include_graphviz "/usr/local/include/graphviz")
-       endif(EXISTS "/usr/local/include/graphviz")
-       
-       set(CGRAPH_PATH ${include_graphviz} CACHE PATH "Path to cgraph.h")
-endif(APPLE AND NOT CGRAPH_PATH)
-
 set(BIBTEX2HTML ${BIBTEX2HTML} CACHE PATH "Path to bibtex2html")
 set(gtnets_path ${gtnets_path} CACHE PATH "Path to gtnets lib")
 set(custom_flags ${custom_flags} CACHE FORCE "Customers flags add to cmake_c_flag")
index 4403705..0d71ff5 100644 (file)
@@ -129,6 +129,9 @@ if(enable_print_message)
        message("SED :                          ${SED_EXE}")
        message("PERL :                                 ${PERL_EXE}")
        endif(enable_maintainer_mode)
+       message("")
+       message("libcgraph :            ${HAVE_CGRAPH_LIB}")
+       message("cgraph.h :                     ${HAVE_CGRAPH_H}")
        message("________________________________________________________________________________")
        message("________________________________________________________________________________ DEBUG END")
        message("")