Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
First step to delete GLOB command from cmake
[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(HAVE_LUA)
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 )