#IF YOU HAVE INSTALL SIMGRID IN A SPECIAL DIRECTORY
#YOU CAN SPECIFY SIMGRID_ROOT OR GRAS_ROOT
-# TO CALL THIS FILE USE
- #set(CMAKE_MODULE_PATH
- #${CMAKE_MODULE_PATH}
- #${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Modules
- #)
-
-find_library(HAVE_SIMGRID_LIB
+find_library(SIMGRID_LIB
NAME simgrid
HINTS
- $ENV{LD_LIBRARY_PATH}
- $ENV{GRAS_ROOT}
$ENV{SIMGRID_ROOT}
- PATH_SUFFIXES lib64 lib
- PATHS
- /opt
- /opt/local
- /opt/csw
- /sw
- /usr
+ PATH_SUFFIXES lib
)
-find_path(HAVE_GRAS_H gras.h
+find_path(SIMGRID_INCLUDES msg/msg.h
HINTS
- $ENV{GRAS_ROOT}
$ENV{SIMGRID_ROOT}
PATH_SUFFIXES include
- PATHS
- /opt
- /opt/local
- /opt/csw
- /sw
- /usr
)
-find_program(HAVE_TESH
+find_program(TESH_BIN_PATH
NAMES tesh
HINTS
- $ENV{GRAS_ROOT}
- $ENV{SIMGRID_ROOT}
- PATH_SUFFIXES bin
- PATHS
- /opt
- /opt/local
- /opt/csw
- /sw
- /usr
-)
-
-find_program(HAVE_GRAS_STUB
- NAMES gras_stub_generator
- HINTS
- $ENV{GRAS_ROOT}
$ENV{SIMGRID_ROOT}
PATH_SUFFIXES bin
- PATHS
- /opt
- /opt/local
- /opt/csw
- /sw
- /usr
)
message(STATUS "Looking for lib SimGrid")
-if(HAVE_SIMGRID_LIB)
- message(STATUS "Looking for lib SimGrid - found")
- if(CMAKE_CACHE_MAJOR_VERSION EQUAL "2" AND CMAKE_CACHE_MINOR_VERSION GREATER "7") #need cmake version 2.8
- get_filename_component(simgrid_version ${HAVE_SIMGRID_LIB} REALPATH)
- string(REPLACE "${HAVE_SIMGRID_LIB}." "" simgrid_version "${simgrid_version}")
- string(REGEX MATCH "^[0-9]" SIMGRID_MAJOR_VERSION "${simgrid_version}")
- string(REGEX MATCH "^[0-9].[0-9]" SIMGRID_MINOR_VERSION "${simgrid_version}")
- string(REGEX MATCH "^[0-9].[0-9].[0-9]" SIMGRID_PATCH_VERSION "${simgrid_version}")
- string(REGEX REPLACE "^${SIMGRID_MINOR_VERSION}." "" SIMGRID_PATCH_VERSION "${SIMGRID_PATCH_VERSION}")
- string(REGEX REPLACE "^${SIMGRID_MAJOR_VERSION}." "" SIMGRID_MINOR_VERSION "${SIMGRID_MINOR_VERSION}")
- message(STATUS "Simgrid version : ${SIMGRID_MAJOR_VERSION}.${SIMGRID_MINOR_VERSION}")
- endif(CMAKE_CACHE_MAJOR_VERSION EQUAL "2" AND CMAKE_CACHE_MINOR_VERSION GREATER "7")
-else(HAVE_SIMGRID_LIB)
+if(SIMGRID_LIB)
+ message(STATUS "Looking for lib SimGrid - found")
+ get_filename_component(simgrid_version ${SIMGRID_LIB} REALPATH)
+ string(REPLACE "${SIMGRID_LIB}." "" simgrid_version "${simgrid_version}")
+ string(REGEX MATCH "^[0-9]" SIMGRID_MAJOR_VERSION "${simgrid_version}")
+ string(REGEX MATCH "^[0-9].[0-9]" SIMGRID_MINOR_VERSION "${simgrid_version}")
+ string(REGEX MATCH "^[0-9].[0-9].[0-9]" SIMGRID_PATCH_VERSION "${simgrid_version}")
+ string(REGEX REPLACE "^${SIMGRID_MINOR_VERSION}." "" SIMGRID_PATCH_VERSION "${SIMGRID_PATCH_VERSION}")
+ string(REGEX REPLACE "^${SIMGRID_MAJOR_VERSION}." "" SIMGRID_MINOR_VERSION "${SIMGRID_MINOR_VERSION}")
+else(SIMGRID_LIB)
message(STATUS "Looking for lib SimGrid - not found")
-endif(HAVE_SIMGRID_LIB)
+endif(SIMGRID_LIB)
+
+string(REGEX REPLACE "libsimgrid.*" "" SIMGRID_LIB_PATH "${SIMGRID_LIB}")
+
+message(STATUS "Simgrid : ${SIMGRID_LIB}")
+message(STATUS "Simgrid_path : ${SIMGRID_LIB_PATH}")
+message(STATUS "Simgrid version : ${SIMGRID_MAJOR_VERSION}.${SIMGRID_MINOR_VERSION}")
-message(STATUS "Looking for gras.h")
-if(HAVE_GRAS_H)
-message(STATUS "Looking for gras.h - found")
-else(HAVE_GRAS_H)
-message(STATUS "Looking for gras.h - not found")
-endif(HAVE_GRAS_H)
+message(STATUS "Looking for msg.h")
+if(SIMGRID_INCLUDES)
+ message(STATUS "Looking for msg.h - found")
+else(SIMGRID_INCLUDES)
+ message(STATUS "Looking for msg.h - not found")
+endif(SIMGRID_INCLUDES)
-if(HAVE_TESH)
-message(STATUS "Found Tesh: ${HAVE_TESH}")
-endif(HAVE_TESH)
+if(SIMGRID_LIB AND SIMGRID_INCLUDES)
+else(SIMGRID_LIB AND SIMGRID_INCLUDES)
+ message(FATAL_ERROR "Unable to find both the library and the include files. Setting the environment variable SIMGRID_ROOT may help.")
+endif(SIMGRID_LIB AND SIMGRID_INCLUDES)
-if(HAVE_GRAS_STUB)
-message(STATUS "Found gras_stub_generator: ${HAVE_GRAS_STUB}")
-endif(HAVE_GRAS_STUB)
\ No newline at end of file
+if(TESH_BIN_PATH)
+message(STATUS "Found Tesh: ${TESH_BIN_PATH}")
+endif(TESH_BIN_PATH)
\ No newline at end of file