From: Navarrop Date: Wed, 29 Jun 2011 13:56:31 +0000 (+0200) Subject: Add HelloWorld example for windows. X-Git-Tag: v3_6_2~203^2~10 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/0efb8571388c3eed6e4de86a9e1f1dbc5d388ab2 Add HelloWorld example for windows. Template for compile with simgrid_installer. --- diff --git a/doc/HelloWorld/CMakeLists.txt b/doc/HelloWorld/CMakeLists.txt new file mode 100644 index 0000000000..a9c130cab9 --- /dev/null +++ b/doc/HelloWorld/CMakeLists.txt @@ -0,0 +1,36 @@ +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 diff --git a/doc/HelloWorld/FindSimGrid.cmake b/doc/HelloWorld/FindSimGrid.cmake new file mode 100644 index 0000000000..79aaa78810 --- /dev/null +++ b/doc/HelloWorld/FindSimGrid.cmake @@ -0,0 +1,96 @@ +#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 diff --git a/doc/HelloWorld/HelloWorld.c b/doc/HelloWorld/HelloWorld.c new file mode 100644 index 0000000000..796b67a95e --- /dev/null +++ b/doc/HelloWorld/HelloWorld.c @@ -0,0 +1,7 @@ +#include "xbt/log.h" +XBT_LOG_NEW_DEFAULT_CATEGORY(HelloWorld, + "Messages specific for this Hello World example"); +void main() +{ + XBT_INFO("Hello World !!!"); +}