Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add flag -Wno-error=unused-but-set-variable if gcc >=4.6
[simgrid.git] / CMakeLists.txt
index 6e8f403..1f8e31b 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 #
 ###########
@@ -212,9 +225,13 @@ java -cp .:${CMAKE_HOME_DIRECTORY}/examples:${CMAKE_HOME_DIRECTORY}/simgrid.jar
 ##########################################
 # 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 #