--- /dev/null
+cmake_minimum_required(VERSION 2.8)
+### Need to set rc ccompiler before enable language
+if(WIN32)
+ SET(CMAKE_RC_COMPILER "windres")
+endif(WIN32)
+
+project(HelloWorld C)
+set(CMAKE_C_FLAGS "" CACHE TYPE INTERNAL FORCE)
+set(CMAKE_EXE_LINKER_FLAGS "" CACHE TYPE INTERNAL FORCE)
+
+########
+## GCC #
+########
+exec_program("${CMAKE_C_COMPILER} --version" OUTPUT_VARIABLE "COMPILER_C_VERSION")
+string(REGEX MATCH "[0-9].[0-9].[0-9]" COMPILER_C_VERSION "${COMPILER_C_VERSION}")
+string(REGEX MATCH "^[0-9].[0-9]" COMPILER_C_VERSION_MAJOR_MINOR "${COMPILER_C_VERSION}")
+string(REPLACE "${COMPILER_C_VERSION_MAJOR_MINOR}." "" COMPILER_C_VERSION_PATCH "${COMPILER_C_VERSION}")
+
+###############################
+# Test the build dependencies #
+###############################
+include(FindSimGrid.cmake)
+
+#########
+# FLAGS #
+#########
+set(INCLUDE_PATH "-I$ENV{SIMGRID_ROOT}/include -I$ENV{SIMGRID_ROOT}/src -I$ENV{SIMGRID_ROOT}/src/include")
+set(LIB_PATH "-L$ENV{SIMGRID_ROOT}/lib")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${INCLUDE_PATH} ${LIB_PATH}")
+
+###########
+# TARGETS #
+###########
+
+add_executable(HelloWorld HelloWorld)
+target_link_libraries(HelloWorld simgrid)
\ No newline at end of file
--- /dev/null
+#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
+ 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
+)
+
+find_path(HAVE_GRAS_H gras.h
+ HINTS
+ $ENV{GRAS_ROOT}
+ $ENV{SIMGRID_ROOT}
+ PATH_SUFFIXES include
+ PATHS
+ /opt
+ /opt/local
+ /opt/csw
+ /sw
+ /usr
+)
+
+find_program(HAVE_TESH
+ 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)
+ message(STATUS "Looking for lib SimGrid - not found")
+endif(HAVE_SIMGRID_LIB)
+
+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)
+
+if(HAVE_TESH)
+message(STATUS "Found Tesh: ${HAVE_TESH}")
+endif(HAVE_TESH)
+
+if(HAVE_GRAS_STUB)
+message(STATUS "Found gras_stub_generator: ${HAVE_GRAS_STUB}")
+endif(HAVE_GRAS_STUB)
\ No newline at end of file