-cmake_minimum_required(VERSION 2.6)
+foreach (example masterslave_failure masterslave_forwarder masterslave_mailbox)
+ add_executable (${example} ${example}.c)
+ target_link_libraries(${example} simgrid)
+ set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/${example}.c)
+ set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${example}.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/${example}_crosstraffic.tesh)
-set(EXECUTABLE_OUTPUT_PATH "${PROJECT_DIRECTORY}/examples/msg/masterslave/")
+ ADD_TESH_FACTORIES(msg-${example} "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/${example}_crosstraffic.tesh)
+ ADD_TESH_FACTORIES(msg-${example}-no-crosstraffic "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/${example}.tesh)
+endforeach()
-add_executable(masterslave_failure "masterslave_failure.c")
-add_executable(masterslave_forwarder "masterslave_forwarder.c")
-add_executable(masterslave_mailbox "masterslave_mailbox.c")
-add_executable(masterslave_bypass "masterslave_bypass.c")
-add_executable(masterslave_console "masterslave_console.c")
+add_executable (masterslave_arg masterslave_arg.c)
+target_link_libraries(masterslave_arg simgrid)
+add_executable (masterslave_kill masterslave_kill.c)
+target_link_libraries(masterslave_kill simgrid)
-### Add definitions for compile
-if(WIN32)
-target_link_libraries(masterslave_forwarder simgrid )
-target_link_libraries(masterslave_failure simgrid )
-target_link_libraries(masterslave_mailbox simgrid )
-target_link_libraries(masterslave_bypass simgrid )
-target_link_libraries(masterslave_console simgrid )
-else(WIN32)
-target_link_libraries(masterslave_forwarder simgrid m )
-target_link_libraries(masterslave_failure simgrid m )
-target_link_libraries(masterslave_mailbox simgrid m )
-target_link_libraries(masterslave_bypass simgrid m )
-target_link_libraries(masterslave_console simgrid m )
-endif(WIN32)
\ No newline at end of file
+ADD_TESH_FACTORIES(msg-masterslave "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_crosstraffic.tesh)
+ADD_TESH_FACTORIES(msg-masterslave-kill "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_kill.tesh)
+ADD_TESH_FACTORIES(msg-masterslave-multicore "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_multicore.tesh)
+ADD_TESH_FACTORIES(msg-masterslave-cpu-ti "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/masterslave --cd ${CMAKE_HOME_DIRECTORY}/examples/msg masterslave/masterslave_cpu_ti_crosstraffic.tesh)
+ADD_TESH_FACTORIES(msg-masterslave-vivaldi "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_vivaldi.tesh)
+ADD_TESH_FACTORIES(msg-masterslave-no-crosstraffic "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave.tesh)
+
+set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_arg.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_kill.c PARENT_SCOPE)
+set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/masterslave.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_crosstraffic.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_kill.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_cpu_ti.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_cpu_ti_crosstraffic.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_cas01_im.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_multicore.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_vivaldi.tesh PARENT_SCOPE)
+set(xml_files ${xml_files} ${CMAKE_CURRENT_SOURCE_DIR}/deployment_masterslave_forwarder.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/deployment_masterslave_mailbox.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/deployment_masterslave_kill.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/deployment_masterslave_mailbox_multicore.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/deployment_masterslave_vivaldi.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/deployment_masterslave.xml PARENT_SCOPE)