Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge back master branch.
[simgrid.git] / doc / HelloWorld / CMakeLists.txt
index a9c130c..cfeb963 100644 (file)
@@ -1,4 +1,6 @@
+### This is a template for building targets with simgrid
 cmake_minimum_required(VERSION 2.8)
+
 ### 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)
 
-########
-## 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}")
+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 #
 ###########
 
-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)