Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cosmetics
[simgrid.git] / teshsuite / msg / CMakeLists.txt
1 # C examples
2 foreach(x app-pingpong app-token-ring
3           async-wait async-waitall async-waitany
4           cloud-capping cloud-migration cloud-two-tasks cloud-simple
5           get_sender host_on_off host_on_off_recv
6           process-daemon process-kill process-join process-lifetime process-migration process-suspend process-yield
7           energy-consumption energy-ptask energy-pstate platform-properties
8           io-file io-raw-storage io-file-remote
9           task-priority
10           plugin-hostload
11           trace_integration)
12   add_executable       (${x} EXCLUDE_FROM_ALL ${x}/${x}.c)
13   target_link_libraries(${x} simgrid)
14   set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
15   add_dependencies(tests ${x})
16
17   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
18   set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.c)
19 endforeach()
20
21 # CPP examples
22 foreach(x task_destroy_cancel task_listen_from task_progress host_on_off_processes)
23   add_executable       (${x}  EXCLUDE_FROM_ALL ${x}/${x}.cpp)
24   target_link_libraries(${x}  simgrid)
25   set_target_properties(${x}  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
26   add_dependencies(tests ${x})
27
28   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
29   set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.cpp)
30 endforeach()
31
32 add_executable       (bittorrent EXCLUDE_FROM_ALL app-bittorrent/bittorrent.c app-bittorrent/bittorrent-messages.c app-bittorrent/bittorrent-peer.c app-bittorrent/tracker.c app-bittorrent/connection.c)
33 target_link_libraries(bittorrent simgrid)
34 set_target_properties(bittorrent PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/app-bittorrent)
35 add_dependencies(tests bittorrent)
36 foreach (file bittorrent connection bittorrent-messages bittorrent-peer tracker)
37   set(teshsuite_src  ${teshsuite_src}  ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/${file}.c  ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/${file}.h)
38 endforeach()
39
40 add_executable       (chainsend EXCLUDE_FROM_ALL app-chainsend/chainsend.c app-chainsend/iterator.c app-chainsend/common.c app-chainsend/messages.c app-chainsend/broadcaster.c app-chainsend/peer.c)
41 target_link_libraries(chainsend simgrid)
42 set_target_properties(chainsend PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/app-chainsend)
43 add_dependencies(tests chainsend)
44 foreach (file common iterator messages broadcaster peer)
45   set(teshsuite_src  ${teshsuite_src}  ${CMAKE_CURRENT_SOURCE_DIR}/app-chainsend/${file}.c  ${CMAKE_CURRENT_SOURCE_DIR}/app-chainsend/${file}.h)
46 endforeach()
47 set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/app-chainsend/chainsend.c)
48                                   
49 set(teshsuite_src ${teshsuite_src}  PARENT_SCOPE)
50 set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/app-bittorrent.tesh          
51                                    ${CMAKE_CURRENT_SOURCE_DIR}/app-chainsend/app-chainsend.tesh
52                                    PARENT_SCOPE)
53 set(bin_files    ${bin_files}      ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/generate.py                  PARENT_SCOPE)
54 set(xml_files     ${xml_files}     ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/app-bittorrent_d.xml
55                                    ${CMAKE_CURRENT_SOURCE_DIR}/app-chainsend/app-chainsend_d.xml
56                                    ${CMAKE_CURRENT_SOURCE_DIR}/app-pingpong/app-pingpong_d.xml
57                                    ${CMAKE_CURRENT_SOURCE_DIR}/async-wait/async-wait_d.xml
58                                    ${CMAKE_CURRENT_SOURCE_DIR}/async-wait/async-wait2_d.xml
59                                    ${CMAKE_CURRENT_SOURCE_DIR}/async-wait/async-wait3_d.xml
60                                    ${CMAKE_CURRENT_SOURCE_DIR}/async-wait/async-wait4_d.xml
61                                    ${CMAKE_CURRENT_SOURCE_DIR}/async-waitall/async-waitall_d.xml
62                                    ${CMAKE_CURRENT_SOURCE_DIR}/async-waitany/async-waitany_d.xml
63                                    ${CMAKE_CURRENT_SOURCE_DIR}/io-file-remote/io-file-remote_d.xml
64                                    ${CMAKE_CURRENT_SOURCE_DIR}/platform-properties/platform-properties_d.xml
65                                    ${CMAKE_CURRENT_SOURCE_DIR}/process-lifetime/baseline_d.xml
66                                    ${CMAKE_CURRENT_SOURCE_DIR}/process-lifetime/kill_d.xml
67                                    ${CMAKE_CURRENT_SOURCE_DIR}/process-lifetime/start_d.xml
68                                    ${CMAKE_CURRENT_SOURCE_DIR}/process-lifetime/start_kill_d.xml
69                                    ${CMAKE_CURRENT_SOURCE_DIR}/process-yield/process-yield_d.xml
70                                    ${CMAKE_CURRENT_SOURCE_DIR}/task-priority/task-priority_d.xml
71                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1.0-hbp1.0-hbp1.0.xml
72                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1.0-hbp3.0-hbp4.0.xml
73                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1.5-hbp1.5.xml
74                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1-c0s0-c0s1.xml
75                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1-c0s0-c1s0.xml
76                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1-c0s1-c0s2.xml
77                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1-c0s1-c2s2.xml
78                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1-c0s2-c1s0.xml
79                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1-c0s2-c1s1.xml
80                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1-c1s1-c1s2.xml
81                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp1-c1s1-c3s2.xml
82                                    ${CMAKE_CURRENT_SOURCE_DIR}/trace_integration/test-hbp2.5-hbp1.5.xml    PARENT_SCOPE)
83
84 foreach(x 
85     async-wait async-waitall async-waitany
86     app-bittorrent app-chainsend app-pingpong app-token-ring
87     cloud-capping cloud-migration cloud-two-tasks cloud-simple
88     energy-pstate
89     host_on_off host_on_off_processes host_on_off_recv
90     get_sender
91     task_destroy_cancel task_listen_from task_progress 
92     process-daemon process-kill process-join process-lifetime process-migration process-suspend process-yield
93     energy-consumption energy-ptask
94     io-file io-raw-storage io-file-remote
95     platform-properties
96     plugin-hostload
97     trace_integration)
98   ADD_TESH_FACTORIES(tesh-msg-${x} "raw" 
99                                    --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms
100                                    --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/msg/${x}
101                                    --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/${x} 
102                                    ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/${x}/${x}.tesh)
103 endforeach()
104
105
106 if(HAVE_SANITIZER_THREAD)
107   ADD_TESH_FACTORIES(tesh-app-bittorrent-parallel       "thread" --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/msg/app-bittorrent --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/app-bittorrent app-bittorrent.tesh)
108 else()
109   ADD_TESH_FACTORIES(tesh-app-bittorrent-parallel       "raw" --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/msg/app-bittorrent --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/app-bittorrent app-bittorrent.tesh)
110 endif()