cmake_minimum_required(VERSION 2.6)
SET(CMAKE_LANGUAGE "Cxx")
+PROJECT(Simgrid)
SET(PROJECT_NAME "Simgrid")
+SET(PROJECT_LABEL "Simgrid")
set(simgrid_version "3.4")
-
set(USE_RPATH false)
### Find programs and paths
find_path(GCOV_PATH NAMES gcov PATHS NO_DEFAULT_PATHS)
find_path(VALGRIND_PATH NAMES valgrind PATHS NO_DEFAULT_PATHS)
-### AUTO DETECT THE PROJECT_DIRECTORY
-message("Project_BINARY_DIR : ${Project_BINARY_DIR}")
-message("CMAKE_HOME_DIRECTORY : ${CMAKE_HOME_DIRECTORY}")
-
### SET THE PROJECT_DIRECTORY
SET(PROJECT_DIRECTORY "${CMAKE_HOME_DIRECTORY}")
### Print ARGS
include(${PROJECT_DIRECTORY}/buildtools/Cmake/src/CMakePrintArgs.txt)
-set_property(GLOBAL PROPERTY LABELS "${SVN_VERSION}${GIT_VERSION}")
-set_property(GLOBAL PROPERTY PROJECT_LABEL "${SVN_VERSION}${GIT_VERSION}")
-set(PROJECT_LABEL "${SVN_VERSION}${GIT_VERSION}")
-
INCLUDE(Dart)
-
+exec_program("ctest -N" OUTPUT_VARIABLE LIST_OF_TEST)
+string(REPLACE "\n" ";" LIST_OF_TEST ${LIST_OF_TEST})
+foreach(test ${LIST_OF_TEST})
+ string(REGEX REPLACE "^.*Test.*project.*" " " test ${test})
+ string(REGEX REPLACE "^.*Total.*Tests:.*" " " test ${test})
+ string(REGEX REPLACE "^.*Test.*\\:+" " " test ${test})
+ string(STRIP ${test} test)
+ if(test)
+ set_tests_properties(${test} PROPERTIES LABELS "rev${SVN_VERSION}")
+ endif(test)
+endforeach(test ${LIST_OF_TEST})
my($line);
my($dump)=0;
+print "if(enable_memcheck)\n";
while(defined($line=<MAKETEST>)) {
chomp $line;
if($line =~ /BEGIN TESH TESTS/) {
}
}
close(MAKETEST);
-
+print "endif(enable_memcheck)\n";
#print "set(MEMCHECK_LIST\n";
#print (join("\n", @test_list));
#print ")\n";
if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.svn)
find_file(SVN ".svn" ${PROJECT_DIRECTORY})
exec_program("svnversion ${PROJECT_DIRECTORY}" OUTPUT_VARIABLE "SVN_VERSION")
+ message("SVN_VERSION : ${SVN_VERSION}")
endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.svn)
if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git)
find_file(GIT ".git" ${PROJECT_DIRECTORY})
exec_program("git --git-dir=${PROJECT_DIRECTORY}/.git log --oneline -1 | sed 's| .*||'" OUTPUT_VARIABLE "GIT_VERSION")
exec_program("git --git-dir=${PROJECT_DIRECTORY}/.git log -n 1 --format=%ai ." OUTPUT_VARIABLE "GIT_DATE")
+ exec_program("git svn info" ${PROJECT_DIRECTORY} OUTPUT_VARIABLE "GIT_SVN_VERSION")
+ string(REPLACE "\n" ";" GIT_SVN_VERSION ${GIT_SVN_VERSION})
STRING(REPLACE " +0000" "" GIT_DATE ${GIT_DATE})
STRING(REPLACE " " "~" GIT_DATE ${GIT_DATE})
STRING(REPLACE ":" "-" GIT_DATE ${GIT_DATE})
- message("GIT_DATE : ${GIT_DATE}")
+ message("GIT_DATE : ${GIT_DATE}")
+ message("GIT_VERSION : ${GIT_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})
+ message("GIT_SVN_VERSION : ${SVN_VERSION}")
endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git)
###################################
set(CMAKE_PROJECT_NAME "${PROJECT_NAME}")
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
set(CPACK_PROJECT_NAME "${PROJECT_NAME}")
-set(CPACK_PACKAGE_FILE_NAME "simgrid-${simgrid_version}~${SVN_VERSION}${GIT_DATE}")
+set(CPACK_PACKAGE_FILE_NAME "simgrid-${simgrid_version}~${SVN_VERSION}")
set(CPACK_GENERATOR "TBZ2") #;TGZ;TZ;ZIP
foreach(file ${script_to_install})
message("")
message("________________________________________________________________________________")
message("________________________________________________________________________________ DEBUG")
+ message("Project_BINARY_DIR : ${Project_BINARY_DIR}")
+ message("CMAKE_HOME_DIRECTORY : ${CMAKE_HOME_DIRECTORY}")
+ message("")
message("SIZEOF_MAX : ${SIZEOF_MAX}")
message("PTH_STACKGROWTH ${PTH_STACKGROWTH}")
message("need_getline ${need_getline}")
message("")
endif(enable_print_message)
-message("\nConfiguration of package `simgrid' (revision ${SVN_VERSION}${GIT_VERSION}) on arch (=${GRAS_THISARCH}):")
+message("\nConfiguration of package `simgrid' (revision ${SVN_VERSION}) on arch (=${GRAS_THISARCH}):")
message(" BUILDNAME : ${BUILDNAME}")
message(" SITE : ${SITE}")
-message(" Release : simgrid-${simgrid_version}~${SVN_VERSION}${GIT_DATE}")
+message(" Release : simgrid-${simgrid_version}~rev${SVN_VERSION}")
message("")
message(" Compiler: c++ : ${CMAKE_CXX_COMPILER}")
message(" version: ${COMPILER_CXX_VERSION}")
add_test(testall ${PROJECT_DIRECTORY}/src/testall)
-if(enable_memcheck)
- include(${PROJECT_DIRECTORY}/buildtools/Cmake/src/memcheck_tests.txt)
-endif(enable_memcheck)
+include(${PROJECT_DIRECTORY}/buildtools/Cmake/src/memcheck_tests.txt)
+if(enable_memcheck)
# teshsuite/xbt
ADD_TEST(memcheck-tesh-log-large-0 xbt/log_large_test --log=root.fmt:%m%n --cd ${PROJECT_DIRECTORY}/teshsuite/)
ADD_TEST(memcheck-msg-sendrecv_Vegas-0 sendrecv/sendrecv ./sendrecv/platform_sendrecv.xml ./sendrecv/deployment_sendrecv.xml "--cfg=workstation/model:compound cpu/model:Cas01 network/model:Vegas" --cd ${PROJECT_DIRECTORY}/examples/msg/)
ADD_TEST(memcheck-msg-sendrecv_Reno-0 sendrecv/sendrecv ./sendrecv/platform_sendrecv.xml ./sendrecv/deployment_sendrecv.xml "--cfg=workstation/model:compound cpu/model:Cas01 network/model:Reno" --log=surf_lagrange.thres=critical --cd ${PROJECT_DIRECTORY}/examples/msg/)
ADD_TEST(memcheck-msg-suspend-0 suspend/suspend ./msg_platform.xml ./suspend/deployment_suspend.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
-ADD_TEST(memcheck-msg-masterslave-0 masterslave/masterslave_forwarder ./small_platform.xml ./masterslave/deployment_masterslave.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ADD_TEST(memcheck-msg-masterslave-0 masterslave/masterslave_forwarder ./small_platform_with_routers.xml ./masterslave/deployment_masterslave.xml --trace --cd ${PROJECT_DIRECTORY}/examples/msg/)
ADD_TEST(memcheck-msg-masterslave-forwarder-0 masterslave/masterslave_forwarder ./msg_platform.xml ./masterslave/deployment_masterslave_forwarder.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
ADD_TEST(memcheck-msg-masterslave-failure-0 masterslave/masterslave_failure --log=xbt_cfg.thres:critical --log=no_loc ./small_platform_with_failures.xml ./masterslave/deployment_masterslave.xml --cfg=path:${PROJECT_DIRECTORY}/src --cd ${PROJECT_DIRECTORY}/examples/msg/)
ADD_TEST(memcheck-msg-masterslave-bypass-0 masterslave/masterslave_bypass --log=no_loc --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ADD_TEST(memcheck-msg-masterslave-mailbox-0 masterslave/masterslave_mailbox ./small_platform_with_routers.xml ./masterslave/deployment_masterslave_mailbox.xml --trace --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ADD_TEST(memcheck-msg-masterslave-vivaldi-0 ./masterslave/masterslave_mailbox --cfg=network/model:Vivaldi ../platforms/vivaldi.xml ./masterslave/deployment_masterslave_vivaldi.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
ADD_TEST(memcheck-msg-migration-0 migration/migration ./msg_platform.xml ./migration/migration.deploy --cd ${PROJECT_DIRECTORY}/examples/msg/)
ADD_TEST(memcheck-msg-ptask-0 parallel_task/parallel_task ./small_platform.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
ADD_TEST(memcheck-msg-ptask-1 parallel_task/test_ptask ./parallel_task/test_ptask_platform.xml ./parallel_task/test_ptask_deployment.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
ADD_TEST(memcheck-msg-masterslave_cpu_ti-2 masterslave/masterslave_failure --log=xbt_cfg.thres:critical --log=no_loc ./small_platform_with_failures.xml ./masterslave/deployment_masterslave.xml --cfg=path:${PROJECT_DIRECTORY}/src --cfg=cpu/model:CpuTI --cd ${PROJECT_DIRECTORY}/examples/msg/)
ADD_TEST(memcheck-msg-masterslave_cpu_ti-3 masterslave/masterslave_bypass --log=no_loc --cfg=cpu/model:CpuTI --cd ${PROJECT_DIRECTORY}/examples/msg/)
+IF(HAVE_TRACING)
+ADD_TEST(memcheck-tracing-ms-0 tracing/ms ./tracing/platform.xml ./tracing/deployment.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ADD_TEST(memcheck-tracing-ms-1 cat ./tracing/../simulation.trace --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ADD_TEST(memcheck-tracing-categories-0 tracing/categories ./tracing/platform.xml ./tracing/deployment.xml --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ADD_TEST(memcheck-tracing-categories-1 cat ./tracing/../categories.trace --cd ${PROJECT_DIRECTORY}/examples/msg/)
+ENDIF(HAVE_TRACING)
+
+
IF(${ARCH_32_BITS})
ADD_TEST(memcheck-gras-ping-sg-32-0 ./ping_simulator ./../../msg/small_platform.xml ./ping.xml --cd ${PROJECT_DIRECTORY}/examples/gras/ping/)
ADD_TEST(memcheck-gras-rpc-sg-32-0 ./rpc_simulator ./../../msg/small_platform.xml ./rpc.xml --log=root.fmt:"'[%h:%P:(%i)] [%c/%p] %m%n'" --cd ${PROJECT_DIRECTORY}/examples/gras/rpc/)
endif(HAVE_GTNETS)
# Lua examples
+if(HAVE_LUA)
ADD_TEST(memcheck-lua-masterslave-0 lua master_slave.lua --cd ${PROJECT_DIRECTORY}/examples/lua/)
-ADD_TEST(memcheck-lua-mult_matrix-0 lua master_slave.lua --cd ${PROJECT_DIRECTORY}/examples/lua/)
+ADD_TEST(memcheck-lua-mult_matrix-0 lua mult_matrix.lua --cd ${PROJECT_DIRECTORY}/examples/lua/)
+endif(HAVE_LUA)
# Ruby examples
+if(HAVE_RUBY)
ADD_TEST(memcheck-ruby-masterslave-0 ruby -I../../src/bindings/ruby MasterSlave.rb --cd ${PROJECT_DIRECTORY}/examples/ruby/)
ADD_TEST(memcheck-ruby-ping_pong-0 ruby -I ../../src/bindings/ruby PingPong.rb --cd ${PROJECT_DIRECTORY}/examples/ruby/)
ADD_TEST(memcheck-ruby-quicksort-0 ruby -I ../../src/bindings/ruby Quicksort.rb --cd ${PROJECT_DIRECTORY}/examples/ruby/)
-
+endif(HAVE_RUBY)
+endif(enable_memcheck)
make clean
fi
fi
-#Make the memcheck
-cmake -Denable_memcheck=on ./
-ctest -D ExperimentalStart
-ctest -D ExperimentalConfigure
-ctest -D ExperimentalBuild
-ctest -D ExperimentalCoverage
-ctest -D ExperimentalMemCheck
-ctest -D ExperimentalSubmit
make clean
fi
fi
-
-#Make the memcheck
-cmake -Denable_memcheck=on ./
-ctest -D NightlyStart
-ctest -D NightlyConfigure
-ctest -D NightlyBuild
-ctest -D NightlyCoverage
-ctest -D NightlyMemCheck
-ctest -D NightlySubmit