-find_program(HAVE_GRAS_STUB
-NAMES gras_stub_generator
-HINTS
-$ENV{SIMGRID_BIN_PATH}
-$ENV{LD_LIBRARY_PATH}
-PATH_SUFFIXES bin simgrid/bin
-PATHS
-/opt
-/opt/local
-/opt/csw
-/sw
-/usr
+if (SimGrid_INCLUDE_DIR)
+ set(SimGrid_VERSION_REGEX "^#define SIMGRID_VERSION_(MAJOR|MINOR|PATCH) ([0-9]+)$")
+ if (EXISTS "${SimGrid_INCLUDE_DIR}/simgrid/version.h")
+ file(STRINGS "${SimGrid_INCLUDE_DIR}/simgrid/version.h" SimGrid_VERSION_STRING REGEX ${SimGrid_VERSION_REGEX})
+ elseif (EXISTS "${SimGrid_INCLUDE_DIR}/simgrid/config.h")
+ file(STRINGS "${SimGrid_INCLUDE_DIR}/simgrid/config.h" SimGrid_VERSION_STRING REGEX ${SimGrid_VERSION_REGEX})
+ else()
+ file(STRINGS "${SimGrid_INCLUDE_DIR}/simgrid_config.h" SimGrid_VERSION_STRING REGEX ${SimGrid_VERSION_REGEX})
+ endif()
+ set(SimGrid_VERSION "")
+
+ # Concat the matches to MAJOR.MINOR.PATCH assuming they appear in this order
+ foreach(match ${SimGrid_VERSION_STRING})
+ if(SimGrid_VERSION)
+ set(SimGrid_VERSION "${SimGrid_VERSION}.")
+ endif()
+ string(REGEX REPLACE ${SimGrid_VERSION_REGEX} "${SimGrid_VERSION}\\2" SimGrid_VERSION ${match})
+ set(SimGrid_VERSION_${CMAKE_MATCH_1} ${CMAKE_MATCH_2})
+ endforeach()
+ unset(SimGrid_VERSION_STRING)
+ unset(SimGrid_VERSION_REGEX)
+endif ()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(SimGrid
+ FOUND_VAR SimGrid_FOUND
+ REQUIRED_VARS SimGrid_INCLUDE_DIR SimGrid_LIBRARY
+ VERSION_VAR SimGrid_VERSION