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(FATAL_ERROR "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")
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.
# simdag examples
ADD_TEST(simdag-test_simdag ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag test_simdag.tesh)
ADD_TEST(simdag-test_simdag2 ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag test_simdag2.tesh)
+ADD_TEST(simdag-test_simdag_seq_access ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag test_simdag_seq_access.tesh)
ADD_TEST(simdag-test_prop ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag properties/test_prop.tesh)
ADD_TEST(simdag-metaxml_test ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag metaxml/metaxml_test.tesh)
# END TESH TESTS
+if(HAVE_MC)
ADD_TEST(mc-bugged1 ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/mc bugged1.tesh)
ADD_TEST(mc-bugged2 ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/mc bugged2.tesh)
ADD_TEST(mc-centralized ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/mc centralized.tesh)
+endif(HAVE_MC)
if(HAVE_JAVA)
# java examples