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 / rpc / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2
3 set_source_files_properties(
4   ${CMAKE_CURRENT_BINARY_DIR}/_rpc_simulator.c
5   ${CMAKE_CURRENT_BINARY_DIR}/_rpc_client.c
6   ${CMAKE_CURRENT_BINARY_DIR}/_rpc_forwarder.c
7   ${CMAKE_CURRENT_BINARY_DIR}/_rpc_server.c
8   PROPERTIES GENERATED true)
9
10 set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
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
18   ${CMAKE_CURRENT_BINARY_DIR}/_rpc_simulator.c
19   ${CMAKE_CURRENT_BINARY_DIR}/_rpc_client.c
20   ${CMAKE_CURRENT_BINARY_DIR}/_rpc_server.c
21   ${CMAKE_CURRENT_BINARY_DIR}/_rpc_forwarder.c
22   DEPENDS gras_stub_generator ${CMAKE_CURRENT_SOURCE_DIR}/rpc.xml
23   COMMAND ${CMAKE_BINARY_DIR}/bin/gras_stub_generator rpc ${CMAKE_CURRENT_SOURCE_DIR}/rpc.xml
24   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
25   )
26
27 ### Add definitions for compile
28 if(NOT WIN32)
29   target_link_libraries(rpc_simulator simgrid pthread m )
30   target_link_libraries(rpc_client gras pthread m )
31   target_link_libraries(rpc_forwarder gras pthread m )
32   target_link_libraries(rpc_server gras pthread m )
33 else()
34   target_link_libraries(rpc_simulator simgrid)
35   target_link_libraries(rpc_client gras)
36   target_link_libraries(rpc_forwarder gras)
37   target_link_libraries(rpc_server gras)
38 endif()
39
40 set(tesh_files
41   ${tesh_files}
42   ${CMAKE_CURRENT_SOURCE_DIR}/test_rl.tesh
43   ${CMAKE_CURRENT_SOURCE_DIR}/test_sg_32.tesh
44   ${CMAKE_CURRENT_SOURCE_DIR}/test_sg_64.tesh
45   PARENT_SCOPE
46   )
47 set(xml_files
48   ${xml_files}
49   ${CMAKE_CURRENT_SOURCE_DIR}/rpc.xml
50   PARENT_SCOPE
51   )
52 set(examples_src
53   ${examples_src}
54   ${CMAKE_CURRENT_SOURCE_DIR}/rpc.c
55   PARENT_SCOPE
56   )
57 set(bin_files
58   ${bin_files}
59   PARENT_SCOPE
60   )