-cmake_minimum_required(VERSION 2.6)
+foreach(x availability daxload fail typed_tasks io properties throttling scheduling test)
+ add_executable (sd_${x} ${x}/sd_${x}.c)
+ target_link_libraries(sd_${x} simgrid)
+ set_target_properties(sd_${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
+ set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/sd_${x}.c)
+ set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/sd_${x}.tesh)
+endforeach()
-set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-
-add_executable(ex_sd_test sd_test.c)
-add_executable(sd_test2 sd_test2.c)
-add_executable(sd_fail sd_fail.c)
-add_executable(sd_avail sd_avail.c)
-add_executable(sd_typed_tasks_test sd_typed_tasks_test.c)
-add_executable(sd_comm_throttling sd_comm_throttling.c)
-add_executable(sd_seq_access sd_seq_access.c)
+if(HAVE_GRAPHVIZ)
+ foreach(x dag-dotload ptg-dotload schedule-dotload)
+ add_executable (sd_${x} ${x}/sd_${x}.c)
+ target_link_libraries(sd_${x} simgrid)
+ set_target_properties(sd_${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
+ set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/sd_${x}.c)
+ set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/sd_${x}.tesh)
+ endforeach()
+endif()
-add_executable(simdag_tracing simdag_trace.c)
+add_executable (goal_test goal/goal_test.c)
+target_link_libraries(goal_test simgrid)
+set_target_properties(goal_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/goal)
-### Add definitions for compile
-if(NOT WIN32)
- target_link_libraries(ex_sd_test simgrid pthread )
- target_link_libraries(sd_test2 simgrid pthread )
- target_link_libraries(sd_fail simgrid pthread )
- target_link_libraries(sd_avail simgrid pthread )
- target_link_libraries(sd_typed_tasks_test simgrid pthread )
- target_link_libraries(sd_comm_throttling simgrid pthread )
- target_link_libraries(sd_seq_access simgrid pthread )
- target_link_libraries(simdag_tracing simgrid pthread )
+set(tesh_files ${tesh_files} PARENT_SCOPE)
+set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/goal/goal_test.c PARENT_SCOPE)
+set(xml_files ${xml_files} ${CMAKE_CURRENT_SOURCE_DIR}/scheduling/Montage_25.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/daxload/simple_dax_with_cycle.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/daxload/smalldax.xml PARENT_SCOPE)
+set(bin_files ${bin_files} ${CMAKE_CURRENT_SOURCE_DIR}/platform_script.lua PARENT_SCOPE)
+set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/dag-dotload/dag_with_cycle.dot
+ ${CMAKE_CURRENT_SOURCE_DIR}/dag-dotload/dag.dot
+ ${CMAKE_CURRENT_SOURCE_DIR}/ptg-dotload/ptg.dot
+ ${CMAKE_CURRENT_SOURCE_DIR}/schedule-dotload/dag_with_bad_schedule.dot
+ ${CMAKE_CURRENT_SOURCE_DIR}/schedule-dotload/dag_with_good_schedule.dot PARENT_SCOPE)
+foreach(x availability daxload fail typed_tasks io properties throttling scheduling test)
+ ADD_TESH(simdag-${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag --cd ${CMAKE_BINARY_DIR}/examples/simdag ${CMAKE_HOME_DIRECTORY}/examples/simdag/${x}/sd_${x}.tesh)
+endforeach()
- add_custom_command(TARGET ex_sd_test
- POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/ex_sd_test ${CMAKE_CURRENT_BINARY_DIR}/sd_test
- WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/"
- )
- get_directory_property(extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES)
- set_directory_properties(
- PROPERTIES
- ADDITIONAL_MAKE_CLEAN_FILES "${extra_clean_files};${CMAKE_CURRENT_BINARY_DIR}/sd_test")
+if(HAVE_GRAPHVIZ)
+ foreach(x dag-dotload ptg-dotload schedule-dotload)
+ add_executable (sd_${x} ${x}/sd_${x}.c)
+ target_link_libraries(sd_${x} simgrid)
+ set_target_properties(sd_${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
-else()
- target_link_libraries(ex_sd_test simgrid)
- target_link_libraries(sd_test2 simgrid)
- target_link_libraries(sd_fail simgrid)
- target_link_libraries(sd_avail simgrid)
- target_link_libraries(sd_typed_tasks_test simgrid)
- target_link_libraries(sd_comm_throttling simgrid)
- target_link_libraries(sd_seq_access simgrid)
- target_link_libraries(simdag_tracing simgrid)
-
- add_custom_command(TARGET ex_sd_test
- POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/ex_sd_test.exe ${CMAKE_CURRENT_BINARY_DIR}/sd_test.exe
- WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/"
- )
- get_directory_property(extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES)
- set_directory_properties(
- PROPERTIES
- ADDITIONAL_MAKE_CLEAN_FILES "${extra_clean_files};${CMAKE_CURRENT_BINARY_DIR}/sd_test.exe")
+ ADD_TESH(simdag-${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag --cd ${CMAKE_BINARY_DIR}/examples/simdag ${CMAKE_HOME_DIRECTORY}/examples/simdag/${x}/sd_${x}.tesh)
+ endforeach()
endif()
-
-set(tesh_files
- ${tesh_files}
- ${CMAKE_CURRENT_SOURCE_DIR}/test_simdag.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/test_simdag2.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/test_simdag_comm_throttling.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/test_simdag_seq_access.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/test_simdag_tracing.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/test_simdag_typed_tasks.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/test_simdag_avail.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/test_simdag_fail.tesh
- PARENT_SCOPE
- )
-set(xml_files
- ${xml_files}
- ${CMAKE_CURRENT_SOURCE_DIR}/2clusters.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/two_hosts.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/faulty_host.xml
- PARENT_SCOPE
- )
-set(examples_src
- ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/sd_avail.c
- ${CMAKE_CURRENT_SOURCE_DIR}/sd_comm_throttling.c
- ${CMAKE_CURRENT_SOURCE_DIR}/sd_fail.c
- ${CMAKE_CURRENT_SOURCE_DIR}/sd_seq_access.c
- ${CMAKE_CURRENT_SOURCE_DIR}/sd_test.c
- ${CMAKE_CURRENT_SOURCE_DIR}/sd_test2.c
- ${CMAKE_CURRENT_SOURCE_DIR}/sd_typed_tasks_test.c
- ${CMAKE_CURRENT_SOURCE_DIR}/simdag_trace.c
- PARENT_SCOPE
- )
-set(bin_files
- ${bin_files}
- ${CMAKE_CURRENT_SOURCE_DIR}/platform_script.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/test_simdag.in
- PARENT_SCOPE
- )
-set(txt_files
- ${txt_files}
- ${CMAKE_CURRENT_SOURCE_DIR}/faulty_host.trace
- ${CMAKE_CURRENT_SOURCE_DIR}/jupiter_power.trace
- ${CMAKE_CURRENT_SOURCE_DIR}/link1_avail.trace
- PARENT_SCOPE
- )
+foreach(x dag-dotload ptg-dotload schedule-dotload)
+ set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/sd_${x}.c)
+ set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/sd_${x}.tesh)
+endforeach()