Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Since cmake 2.6, else() and endif() don't need to repeat the condition.
[simgrid.git] / examples / gras / console / CMakeLists.txt
1 if(HAVE_LUA)
2   cmake_minimum_required(VERSION 2.6)
3
4   set_source_files_properties(
5     ${CMAKE_CURRENT_BINARY_DIR}/_ping_simulator.c
6     ${CMAKE_CURRENT_BINARY_DIR}/_ping_client.c
7     ${CMAKE_CURRENT_BINARY_DIR}/_ping_server.c
8     PROPERTIES GENERATED true)
9
10   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
11   add_executable(ping_simulator_console
12     ${CMAKE_CURRENT_BINARY_DIR}/_ping_simulator.c
13     ${CMAKE_CURRENT_SOURCE_DIR}/ping_server.c
14     ${CMAKE_CURRENT_SOURCE_DIR}/ping_client.c
15     ${CMAKE_CURRENT_SOURCE_DIR}/ping_common.c)
16
17   add_executable(ping_client_console
18     ${CMAKE_CURRENT_BINARY_DIR}/_ping_client.c
19     ${CMAKE_CURRENT_SOURCE_DIR}/ping_client.c
20     ${CMAKE_CURRENT_SOURCE_DIR}/ping_common.c)
21
22   add_executable(ping_server_console
23     ${CMAKE_CURRENT_BINARY_DIR}/_ping_server.c
24     ${CMAKE_CURRENT_SOURCE_DIR}/ping_server.c
25     ${CMAKE_CURRENT_SOURCE_DIR}/ping_common.c)
26
27   add_custom_command(
28     OUTPUT
29     ${CMAKE_CURRENT_BINARY_DIR}/_ping_simulator.c
30     ${CMAKE_CURRENT_BINARY_DIR}/_ping_client.c
31     ${CMAKE_CURRENT_BINARY_DIR}/_ping_server.c
32     ${CMAKE_CURRENT_BINARY_DIR}/simgrid.${LIB_EXE}
33     COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib/libsimgrid.${LIB_EXE} ${CMAKE_CURRENT_BINARY_DIR}/simgrid.${LIB_EXE}
34     COMMAND lua ${CMAKE_CURRENT_SOURCE_DIR}/ping_generator.lua
35     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} #needed to find simgrid.so. By default CMAKE_CURRENT_BINARY_DIR
36     )
37
38   ### Add definitions for compile
39   target_link_libraries(ping_simulator_console simgrid pthread m)
40   target_link_libraries(ping_client_console gras simgrid pthread m)
41   target_link_libraries(ping_server_console gras simgrid pthread m)
42 endif()
43
44 set(tesh_files
45   ${tesh_files}
46   PARENT_SCOPE
47   )
48 set(xml_files
49   ${xml_files}
50   PARENT_SCOPE
51   )
52 set(examples_src
53   ${examples_src}
54   ${CMAKE_CURRENT_SOURCE_DIR}/ping_client.c
55   ${CMAKE_CURRENT_SOURCE_DIR}/ping_common.c
56   ${CMAKE_CURRENT_SOURCE_DIR}/ping_server.c
57   ${CMAKE_CURRENT_SOURCE_DIR}/ping.h
58   PARENT_SCOPE
59   )
60 set(bin_files
61   ${bin_files}
62   ${CMAKE_CURRENT_SOURCE_DIR}/gras_platform_script.lua
63   ${CMAKE_CURRENT_SOURCE_DIR}/ping_generator.lua
64   PARENT_SCOPE
65   )