Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add a tests-mc target to rebuild only what's needed to run the MC tests
[simgrid.git] / examples / cpp / CMakeLists.txt
index 15af769..5f0f776 100644 (file)
@@ -20,7 +20,8 @@ if(WIN32)
   set(_maestro-set_disable 1)
 endif()
 
-foreach (example mc-bugged1 mc-bugged2 mc-failing-assert mc-electric-fence)
+set(MC_regular_tests mc-bugged1 mc-bugged2 mc-failing-assert mc-electric-fence)
+foreach (example ${MC_regular_tests})
   if(NOT SIMGRID_HAVE_MC)
     set(_${example}_disable 1)
   endif()
@@ -31,18 +32,18 @@ if(SIMGRID_HAVE_MC)
    add_executable       (s4u-mc-bugged1-liveness  EXCLUDE_FROM_ALL mc-bugged1-liveness/s4u-mc-bugged1-liveness.cpp)
    target_link_libraries(s4u-mc-bugged1-liveness  simgrid)
    set_target_properties(s4u-mc-bugged1-liveness PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mc-bugged1-liveness)
-   add_dependencies(tests s4u-mc-bugged1-liveness)
+   add_dependencies(tests-mc s4u-mc-bugged1-liveness)
  
   if(HAVE_C_STACK_CLEANER)
     add_executable       (s4u-mc-bugged1-liveness-cleaner-on  EXCLUDE_FROM_ALL s4u-mc-bugged1-liveness/s4u-mc-bugged1-liveness.cpp)
     target_link_libraries(s4u-mc-bugged1-liveness-cleaner-on  simgrid)
     set_target_properties(s4u-mc-bugged1-liveness-cleaner-on  PROPERTIES COMPILE_FLAGS "-DGARBAGE_STACK -fstack-cleaner")
-    add_dependencies(tests s4u-mc-bugged1-liveness-cleaner-on)
+    add_dependencies(tests-mc s4u-mc-bugged1-liveness-cleaner-on)
 
     add_executable       (s4u-mc-bugged1-liveness-cleaner-off EXCLUDE_FROM_ALL s4u-mc-bugged1-liveness/s4u-mc-bugged1-liveness.cpp)
     target_link_libraries(s4u-mc-bugged1-liveness-cleaner-off simgrid)
     set_target_properties(s4u-mc-bugged1-liveness-cleaner-off PROPERTIES COMPILE_FLAGS "-DGARBAGE_STACK -fno-stack-cleaner")
-    add_dependencies(tests s4u-mc-bugged1-liveness-cleaner-off)
+    add_dependencies(tests-mc s4u-mc-bugged1-liveness-cleaner-off)
   endif()
 endif()
 
@@ -131,9 +132,17 @@ foreach(variant fun class)
 endforeach()
 set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/app-masterworkers/s4u-app-masterworkers.tesh)
 
-# Model-checking liveness
+# Model-checking
 if(SIMGRID_HAVE_MC)
+  foreach (example ${MC_regular_tests})
+    if(NOT DEFINED _${example}_disable)
+      add_dependencies(tests-mc s4u-${example})
+    endif()
+  endforeach()
+  
+  # Model-checking liveness
   IF(HAVE_UCONTEXT_CONTEXTS AND SIMGRID_PROCESSOR_x86_64) # liveness model-checking works only on 64bits (for now ...)
+    add_dependencies(tests-mc s4u-mc-bugged1-liveness)
     ADD_TESH(s4u-mc-bugged1-liveness-ucontext     --setenv bindir=${CMAKE_CURRENT_BINARY_DIR}/mc-bugged1-liveness 
                                                   --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms 
                                                   --cd ${CMAKE_CURRENT_SOURCE_DIR}/mc-bugged1-liveness
@@ -145,6 +154,7 @@ if(SIMGRID_HAVE_MC)
 #                                                      --cd ${CMAKE_CURRENT_SOURCE_DIR}/mc-bugged1-liveness
 #                                                       ${CMAKE_HOME_DIRECTORY}/examples/cpp/mc-bugged1-liveness/s4u-mc-bugged1-liveness-visited.tesh)
     IF(HAVE_C_STACK_CLEANER)
+      add_dependencies(tests-mc s4u-mc-bugged1-liveness-stack-cleaner)
       # This test checks if the stack cleaner is making a difference:
       ADD_TEST(s4u-mc-bugged1-liveness-stack-cleaner ${CMAKE_HOME_DIRECTORY}/examples/cpp/mc-bugged1-liveness/s4u-mc-bugged1-liveness-stack-cleaner
                                                      ${CMAKE_HOME_DIRECTORY}/examples/cpp/mc-bugged1-liveness/