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 #
########
-if(IS_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.svn)
- find_file(SVN ".svn" ${CMAKE_HOME_DIRECTORY})
- exec_program("svnversion ${CMAKE_HOME_DIRECTORY}" OUTPUT_VARIABLE "SVN_VERSION")
-endif(IS_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.svn)
-
-exec_program("git config --get svn-remote.svn.url"
- OUTPUT_VARIABLE url
- RETURN_VALUE ret)
-if(ret EQUAL 0)
- exec_program("git svn info" ${CMAKE_HOME_DIRECTORY}
- OUTPUT_VARIABLE "GIT_SVN_VERSION")
- string(REPLACE "\n" ";" GIT_SVN_VERSION ${GIT_SVN_VERSION})
- foreach(line ${GIT_SVN_VERSION})
- string(REGEX MATCH "^Revision:.*" line_good ${line})
- if(line_good)
- string(REPLACE "Revision: " ""
- line_good ${line_good})
- set(SVN_VERSION ${line_good})
- endif(line_good)
- endforeach(line ${GIT_SVN_VERSION})
-endif(ret EQUAL 0)
-
-message(STATUS "Svn version : ${SVN_VERSION}")
+exec_program("git remote" OUTPUT_VARIABLE remote RETURN_VALUE ret)
+exec_program("git config --get remote.${remote}.url" OUTPUT_VARIABLE url RETURN_VALUE ret)
+
+if(url)
+ exec_program("git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log --oneline -1" OUTPUT_VARIABLE "GIT_VERSION")
+ message(STATUS "Git version: ${GIT_VERSION}")
+ exec_program("git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log -n 1 --format=%ai ." OUTPUT_VARIABLE "GIT_DATE")
+ message(STATUS "Git date: ${GIT_DATE}")
+ string(REGEX REPLACE " .*" "" GIT_VERSION "${GIT_VERSION}")
+ STRING(REPLACE " +0000" "" GIT_DATE ${GIT_DATE})
+ STRING(REPLACE " " "~" GIT_DATE ${GIT_DATE})
+ STRING(REPLACE ":" "-" GIT_DATE ${GIT_DATE})
+endif(url)
#########
# CDASH #
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 #
###########
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{LD_LIBRARY_PATH}")
-message(STATUS "export LD_LIBRARY_PATH=${CMAKE_HOME_DIRECTORY}/lib:$ENV{LD_LIBRARY_PATH}")
+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 #