Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Cosmetics.
[simgrid.git] / buildtools / Cmake / CompleteInFiles.cmake
index 7e3e2ac..6448080 100644 (file)
@@ -2,8 +2,9 @@ include(CheckFunctionExists)
 include(CheckIncludeFile)
 include(CheckIncludeFiles)
 include(CheckLibraryExists)
+include(TestBigEndian)
 
-set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES} ${CGRAPH_PATH}")
+TEST_BIG_ENDIAN(BIGENDIAN)
 
 # Checks for header libraries functions.
 
@@ -37,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)
@@ -201,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)
@@ -225,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 "/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
 
@@ -388,8 +405,7 @@ endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git)
 ###################################
 ## SimGrid and GRAS specific checks
 ##
-include(TestBigEndian)
-TEST_BIG_ENDIAN(BIGENDIAN)
+
 # Check architecture signature begin
 try_run(RUN_GRAS_VAR COMPILE_GRAS_VAR
        ${PROJECT_DIRECTORY}
@@ -716,8 +732,8 @@ SET( CMAKEDEFINE "#cmakedefine" )
 configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/gras_config.h.in"        "${PROJECT_DIRECTORY}/src/gras_config.h" @ONLY IMMEDIATE)
 configure_file("${PROJECT_DIRECTORY}/src/gras_config.h"                                "${PROJECT_DIRECTORY}/src/gras_config.h" @ONLY IMMEDIATE)
 configure_file("${PROJECT_DIRECTORY}/include/simgrid_config.h.in"                      "${PROJECT_DIRECTORY}/include/simgrid_config.h" @ONLY IMMEDIATE)
-configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/tracing_config.h.in"     "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE)
-configure_file("${PROJECT_DIRECTORY}/include/instr/tracing_config.h"           "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE)
+#configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/tracing_config.h.in"    "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE)
+#configure_file("${PROJECT_DIRECTORY}/include/instr/tracing_config.h"          "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE)
 
 set(top_srcdir "${PROJECT_DIRECTORY}")
 set(srcdir "${PROJECT_DIRECTORY}/src")