Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
The HelloWorld works on windows.
authorunknown <pierre@.(none)>
Wed, 29 Jun 2011 15:15:15 +0000 (17:15 +0200)
committerunknown <pierre@.(none)>
Wed, 29 Jun 2011 15:15:38 +0000 (17:15 +0200)
TODO: Need to be more complete.

buildtools/Cmake/simgrid.nsi.in
doc/HelloWorld/CMakeLists.txt
doc/HelloWorld/FindPCRE.cmake [new file with mode: 0644]
doc/HelloWorld/FindSimGrid.cmake [deleted file]

index f6e38fe..a463564 100644 (file)
@@ -131,7 +131,8 @@ section
        CreateDirectory $INSTDIR\doc\r
        setOutPath $INSTDIR\doc\r
        file /nonfatal /r @CMAKE_HOME_DIRECTORY@\doc\html\r
        CreateDirectory $INSTDIR\doc\r
        setOutPath $INSTDIR\doc\r
        file /nonfatal /r @CMAKE_HOME_DIRECTORY@\doc\html\r
-\r
+       file /r @CMAKE_HOME_DIRECTORY@\doc\HelloWorld\r
+       \r
        # define uninstaller name\r
        writeUninstaller $INSTDIR\uninstaller@BIN_EXE@\r
 \r
        # define uninstaller name\r
        writeUninstaller $INSTDIR\uninstaller@BIN_EXE@\r
 \r
@@ -146,8 +147,8 @@ section
        !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'\r
        !define env_hkcu 'HKCU "Environment"'\r
        # Set Variables\r
        !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'\r
        !define env_hkcu 'HKCU "Environment"'\r
        # Set Variables\r
-       WriteRegExpandStr ${env_hklm} SIMGRID_ROOT $INSTDIR\lib\r
-       WriteRegExpandStr ${env_hklm} GRAS_ROOT $INSTDIR\lib\r
+       WriteRegExpandStr ${env_hklm} SIMGRID_ROOT $INSTDIR\r
+       WriteRegExpandStr ${env_hklm} GRAS_ROOT $INSTDIR\r
        WriteRegExpandStr ${env_hklm} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
 \r
        MessageBox MB_OK "Installation was successful."\r
        WriteRegExpandStr ${env_hklm} SIMGRID_VERSION @SIMGRID_VERSION_MAJOR@.@SIMGRID_VERSION_MINOR@.@SIMGRID_VERSION_PATCH@\r
 \r
        MessageBox MB_OK "Installation was successful."\r
index a9c130c..cfeb963 100644 (file)
@@ -1,4 +1,6 @@
+### This is a template for building targets with simgrid
 cmake_minimum_required(VERSION 2.8)
 cmake_minimum_required(VERSION 2.8)
+
 ### Need to set rc ccompiler before enable language
 if(WIN32)
     SET(CMAKE_RC_COMPILER "windres")
 ### Need to set rc ccompiler before enable language
 if(WIN32)
     SET(CMAKE_RC_COMPILER "windres")
@@ -8,29 +10,32 @@ project(HelloWorld C)
 set(CMAKE_C_FLAGS "" CACHE TYPE INTERNAL FORCE)
 set(CMAKE_EXE_LINKER_FLAGS "" CACHE TYPE INTERNAL FORCE)
 
 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 #
 ###############################
 ###############################
 # 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}")
+include(FindPCRE.cmake)
+message(STATUS "Looking for lib Simgrid")
+if("$ENV{SIMGRID_ROOT}" STREQUAL "")
+    message(STATUS "Looking for lib Simgrid - Not found")
+    message(FATAL_ERROR "Simgrid not found, reinstall it or set SIMGRID_ROOT")
+else("$ENV{SIMGRID_ROOT}" STREQUAL "")
+    link_directories($ENV{SIMGRID_ROOT}/lib)
+    include_directories($ENV{SIMGRID_ROOT}/include)
+    include_directories($ENV{SIMGRID_ROOT}/src)
+    include_directories($ENV{SIMGRID_ROOT}/src/include)
+    add_library(libsimgrid STATIC IMPORTED)
+    message(STATUS "Looking for lib Simgrid - found") 
+endif("$ENV{SIMGRID_ROOT}" STREQUAL "")
 
 ###########
 # TARGETS #
 ###########
 
 
 ###########
 # TARGETS #
 ###########
 
-add_executable(HelloWorld HelloWorld)
-target_link_libraries(HelloWorld simgrid)
\ No newline at end of file
+#########################
+# add_executable        #
+#    args1 target name  #
+#    args2 sources      #
+#########################
+add_executable(HelloWorld HelloWorld.c)
+# Any targets need to be linked with simgrid and pcre
+target_link_libraries(HelloWorld simgrid pcre) 
diff --git a/doc/HelloWorld/FindPCRE.cmake b/doc/HelloWorld/FindPCRE.cmake
new file mode 100644 (file)
index 0000000..9454da7
--- /dev/null
@@ -0,0 +1,71 @@
+### SET THE LIBRARY EXTENSION AND GCC VERSION
+if(APPLE) #MAC
+       set(LIB_EXE "dylib")
+else(APPLE)
+    if(WIN32) #WINDOWS
+        set(LIB_EXE "a")
+        set(BIN_EXE ".exe")
+    else(WIN32) #UNIX
+           set(LIB_EXE "so")
+    endif(WIN32)
+endif(APPLE)
+
+find_library(PATH_PCRE_LIB 
+       NAMES pcre
+    HINTS
+    $ENV{LD_LIBRARY_PATH}
+    $ENV{PCRE_LIBRARY_PATH}
+    PATH_SUFFIXES lib/ GnuWin32/lib
+    PATHS
+    /opt
+    /opt/local
+    /opt/csw
+    /sw
+    /usr)
+    
+find_path(PATH_PCRE_H "pcre.h"
+    HINTS
+    $ENV{LD_LIBRARY_PATH}
+    $ENV{PCRE_LIBRARY_PATH}
+    PATH_SUFFIXES include/ GnuWin32/include
+    PATHS
+    /opt
+    /opt/local
+    /opt/csw
+    /sw
+    /usr)
+    
+set(HAVE_PCRE_LIB 0)
+
+message(STATUS "Looking for pcre.h")
+if(PATH_PCRE_H)
+message(STATUS "Looking for pcre.h - found")
+else(PATH_PCRE_H)
+message(STATUS "Looking for pcre.h - not found")
+endif(PATH_PCRE_H)
+
+message(STATUS "Looking for lib pcre")
+if(PATH_PCRE_LIB)
+message(STATUS "Looking for lib pcre - found")
+else(PATH_PCRE_LIB)
+message(STATUS "Looking for lib pcre - not found")
+endif(PATH_PCRE_LIB)
+
+if(PATH_PCRE_LIB AND PATH_PCRE_H)
+    string(REGEX REPLACE "/libpcre.*[.]${LIB_EXE}$" "" PATHLIBPCRE "${PATH_PCRE_LIB}")
+    string(REGEX REPLACE "/pcre.h" "" PATH_PCRE_H "${PATH_PCRE_H}")
+    string(REGEX MATCH "-L${PATHLIBPCRE} " operation "${CMAKE_C_FLAGS}")
+       if(NOT operation)
+           SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-L${PATHLIBPCRE} ")
+       endif(NOT operation)
+       string(REGEX MATCH "-I${PATH_PCRE_H} " operation "${CMAKE_C_FLAGS}")
+       if(NOT operation)
+           SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${PATH_PCRE_H} ")
+       endif(NOT operation)       
+    set(HAVE_PCRE_LIB 1)
+else(PATH_PCRE_LIB)
+    message(FATAL_ERROR "Please install the libpcre3-dev package or equivalent before using it.")
+endif(PATH_PCRE_LIB AND PATH_PCRE_H)
+    
+mark_as_advanced(PATH_PCRE_H)
+mark_as_advanced(PATH_PCRE_LIB)
\ No newline at end of file
diff --git a/doc/HelloWorld/FindSimGrid.cmake b/doc/HelloWorld/FindSimGrid.cmake
deleted file mode 100644 (file)
index 79aaa78..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#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