X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/05bdf500677b6406e385802991fe48cb168859a6..a83769229c16e7cb7293c762be1d5ce432d0aefb:/buildtools/Cmake/AddTests.cmake diff --git a/buildtools/Cmake/AddTests.cmake b/buildtools/Cmake/AddTests.cmake index 792c96a63a..5436bb5f2f 100644 --- a/buildtools/Cmake/AddTests.cmake +++ b/buildtools/Cmake/AddTests.cmake @@ -4,6 +4,24 @@ if(enable_smpi) exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/src/smpi/smpicc" OUTPUT_VARIABLE "OKITOKI") exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/src/smpi/smpirun" OUTPUT_VARIABLE "OKITOKI") endif(enable_smpi) + +if(enable_memcheck) + include(FindPerl) + exec_program("valgrind --version " OUTPUT_VARIABLE "VALGRIND_VERSION") + if(VALGRIND_VERSION AND PERL_EXECUTABLE) + string(REGEX MATCH "[0-9].[0-9].[0-9]" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}") + if(NEW_VALGRIND_VERSION) + exec_program("${PROJECT_DIRECTORY}/buildtools/Cmake/generate_memcheck_tests.pl ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY}/buildtools/Cmake/AddTests.cmake > ${PROJECT_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake") + else(NEW_VALGRIND_VERSION) + set(enable_memcheck false) + message("Command valgrind not found --> enable_memcheck autoset to false.") + endif(NEW_VALGRIND_VERSION) + else(VALGRIND_VERSION AND PERL_EXECUTABLE) + set(enable_memcheck false) + message("Command valgrind or perl not found --> enable_memcheck autoset to false.") + endif(VALGRIND_VERSION AND PERL_EXECUTABLE) +endif(enable_memcheck) + ### For code coverage ### Set some variables SET(UPDATE_TYPE "svn") @@ -13,10 +31,7 @@ SET(DROP_LOCATION "/submit.php?project=${PROJECT_NAME}") SET(DROP_SITE_CDASH TRUE) SET(TRIGGER_SITE "http://cdash.inria.fr/CDash/cgi-bin/Submit-Random-TestingResults.cgi") SET(COVERAGE_COMMAND "${GCOV_PATH}/gcov") -#SET(VALGRIND_COMMAND "${VALGRIND_PATH}/valgrind") -#SET(MEMORYCHECK_COMMAND "${VALGRIND_PATH}/valgrind") -#set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --show-reachable=yes --track-origins=yes --read-var-info=no") -set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --show-reachable=yes --track-origins=yes --read-var-info=no --valgrind ${VALGRIND_PATH}") +set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --show-reachable=yes --track-origins=yes --read-var-info=no") SET(VALGRIND_COMMAND "${PROJECT_DIRECTORY}/buildtools/Cmake/my_valgrind.pl") SET(MEMORYCHECK_COMMAND "${PROJECT_DIRECTORY}/buildtools/Cmake/my_valgrind.pl") #If you use the --read-var-info option Memcheck will run more slowly but may give a more detailed description of any illegal address.