Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
give more hints to that stupid cmake
[simgrid.git] / FindSimGrid.cmake
1 #IF YOU HAVE INSTALL SIMGRID IN A SPECIAL DIRECTORY
2 #YOU CAN SPECIFY SIMGRID_ROOT OR GRAS_ROOT
3
4 find_library(SIMGRID_LIB
5     NAME simgrid
6     HINTS
7         $ENV{SIMGRID_ROOT}
8         /usr/local
9         /usr
10     PATH_SUFFIXES lib
11 )
12
13 find_path(SIMGRID_INCLUDES msg.h
14     HINTS
15         $ENV{SIMGRID_ROOT}
16         /usr/local
17         /usr
18     PATH_SUFFIXES include
19 )
20
21 message(STATUS "Looking for lib SimGrid")
22 if(SIMGRID_LIB)
23   message(STATUS "Looking for lib SimGrid - found")
24   if(CMAKE_CACHE_MAJOR_VERSION EQUAL "2" AND CMAKE_CACHE_MINOR_VERSION GREATER "7") #need cmake version 2.8
25           get_filename_component(simgrid_version ${SIMGRID_LIB} REALPATH)
26           string(REPLACE "${SIMGRID_LIB}." "" simgrid_version "${simgrid_version}")
27           string(REGEX MATCH "^[0-9]" SIMGRID_MAJOR_VERSION "${simgrid_version}")
28           string(REGEX MATCH "^[0-9].[0-9]" SIMGRID_MINOR_VERSION "${simgrid_version}")
29           string(REGEX MATCH "^[0-9].[0-9].[0-9]" SIMGRID_PATCH_VERSION "${simgrid_version}")
30           string(REGEX REPLACE "^${SIMGRID_MINOR_VERSION}." "" SIMGRID_PATCH_VERSION "${SIMGRID_PATCH_VERSION}") 
31           string(REGEX REPLACE "^${SIMGRID_MAJOR_VERSION}." "" SIMGRID_MINOR_VERSION "${SIMGRID_MINOR_VERSION}")
32           message(STATUS "Simgrid version : ${SIMGRID_MAJOR_VERSION}.${SIMGRID_MINOR_VERSION}")
33   endif(CMAKE_CACHE_MAJOR_VERSION EQUAL "2" AND CMAKE_CACHE_MINOR_VERSION GREATER "7")
34 else(SIMGRID_LIB)
35   message(STATUS "Looking for lib SimGrid - not found")
36 endif(SIMGRID_LIB)
37
38 message(STATUS "Looking for msg.h")
39 if(SIMGRID_INCLUDES)
40   message(STATUS "Looking for msg.h - found")
41 else(SIMGRID_INCLUDES)
42   message(STATUS "Looking for msg.h - not found")
43 endif(SIMGRID_INCLUDES)
44
45 if(SIMGRID_LIB AND SIMGRID_INCLUDES)
46 else(SIMGRID_LIB AND SIMGRID_INCLUDES)
47     message(FATAL_ERROR "Unable to find both the library and the include files. Setting the environment variable SIMGRID_ROOT may help.")
48 endif(SIMGRID_LIB AND SIMGRID_INCLUDES)