Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
On mac we must set DYLD_LIBRARY_PATH to find libsimgrid.dylib
[simgrid.git] / CMakeLists.txt
index 6e8f403..2ab2fb5 100644 (file)
@@ -6,6 +6,14 @@ set(CMAKE_EXE_LINKER_FLAGS "" CACHE TYPE INTERNAL FORCE)
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/lib")
 set(soversion 1)
 
+########
+## 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}")
+
 ########
 ## SVN #
 ########
@@ -138,6 +146,11 @@ set(INCLUDE_PATH "-I${CMAKE_HOME_DIRECTORY}/src -I$ENV{SIMGRID_ROOT}/include -I$
 set(LIB_PATH "-L$ENV{SIMGRID_ROOT}/lib")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${INCLUDE_PATH} ${LIB_PATH}")
 
+if(COMPILER_C_VERSION_MAJOR_MINOR MATCHES "4.6")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=unused-but-set-variable ")
+endif(COMPILER_C_VERSION_MAJOR_MINOR MATCHES "4.6")
+
+
 ###########
 # TARGETS #
 ###########
@@ -209,12 +222,29 @@ ADD_TEST(mutualExclusion
 java -cp .:${CMAKE_HOME_DIRECTORY}/examples:${CMAKE_HOME_DIRECTORY}/simgrid.jar mutualExclusion/centralized/MutexCentral ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/ring3.xml ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/mutex_centralized_deployment.xml
 )
 
+##########################################
+# Set the  DYLD_LIBRARY_PATH for mac     #
+##########################################
+if(APPLE)
+    if($ENV{DYLD_LIBRARY_PATH} STREQUAL "")
+        set_tests_properties(basic pingPong CommTime mutualExclusion
+        PROPERTIES ENVIRONMENT "DYLD_LIBRARY_PATH=${CMAKE_HOME_DIRECTORY}/lib:$ENV{SIMGRID_ROOT}/lib")
+    else($ENV{DYLD_LIBRARY_PATH} STREQUAL "")
+        set_tests_properties(basic pingPong CommTime mutualExclusion
+        PROPERTIES ENVIRONMENT "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}:${CMAKE_HOME_DIRECTORY}/lib:$ENV{SIMGRID_ROOT}/lib")
+    endif($ENV{DYLD_LIBRARY_PATH} STREQUAL "")
+endif(APPLE)
+
 ##########################################
 # Set the  LD_LIBRARY_PATH for our tests #
 ##########################################
-set_tests_properties(basic pingPong CommTime mutualExclusion
-PROPERTIES ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_HOME_DIRECTORY}/lib:$ENV{SIMGRID_ROOT}/lib")
-message(STATUS "export LD_LIBRARY_PATH=${CMAKE_HOME_DIRECTORY}/lib:$ENV{SIMGRID_ROOT}/lib")
+if($ENV{LD_LIBRARY_PATH} STREQUAL "")
+    set_tests_properties(basic pingPong CommTime mutualExclusion
+    PROPERTIES ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_HOME_DIRECTORY}/lib:$ENV{SIMGRID_ROOT}/lib")
+else($ENV{LD_LIBRARY_PATH} STREQUAL "")
+    set_tests_properties(basic pingPong CommTime mutualExclusion
+    PROPERTIES ENVIRONMENT "LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${CMAKE_HOME_DIRECTORY}/lib:$ENV{SIMGRID_ROOT}/lib")
+endif($ENV{LD_LIBRARY_PATH} STREQUAL "")
 
 ###########
 # Install #