Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Generate files correctely with gras_stub_generator.
[simgrid.git] / examples / gras / rpc / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
3 set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/_rpc_simulator.c 
4                             ${CMAKE_CURRENT_BINARY_DIR}/_rpc_client.c 
5                                                 ${CMAKE_CURRENT_BINARY_DIR}/_rpc_forwarder.c 
6                                                 ${CMAKE_CURRENT_BINARY_DIR}/_rpc_server.c
7                                                 PROPERTIES GENERATED true)
8
9 set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}")
10
11 add_executable(rpc_simulator ${CMAKE_CURRENT_BINARY_DIR}/_rpc_simulator.c rpc.c)
12 add_executable(rpc_client    ${CMAKE_CURRENT_BINARY_DIR}/_rpc_client.c    rpc.c)
13 add_executable(rpc_forwarder ${CMAKE_CURRENT_BINARY_DIR}/_rpc_forwarder.c rpc.c)
14 add_executable(rpc_server    ${CMAKE_CURRENT_BINARY_DIR}/_rpc_server.c    rpc.c)
15
16 add_custom_command(
17   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/_rpc_simulator.c
18          ${CMAKE_CURRENT_BINARY_DIR}/_rpc_client.c
19          ${CMAKE_CURRENT_BINARY_DIR}/_rpc_server.c
20          ${CMAKE_CURRENT_BINARY_DIR}/_rpc_forwarder.c
21   DEPENDS gras_stub_generator ${CMAKE_CURRENT_SOURCE_DIR}/rpc.xml
22   COMMAND ${CMAKE_BINARY_DIR}/bin/gras_stub_generator rpc ${CMAKE_CURRENT_SOURCE_DIR}/rpc.xml
23 )
24
25 ### Add definitions for compile
26 target_link_libraries(rpc_simulator simgrid pthread m -fprofile-arcs)
27 target_link_libraries(rpc_client gras pthread m -fprofile-arcs)
28 target_link_libraries(rpc_forwarder gras pthread m -fprofile-arcs)
29 target_link_libraries(rpc_server gras pthread m -fprofile-arcs)