]> git.proxmox.com Git - ceph.git/blob - ceph/src/seastar/demos/CMakeLists.txt
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / seastar / demos / CMakeLists.txt
1 #
2 # This file is open source software, licensed to you under the terms
3 # of the Apache License, Version 2.0 (the "License"). See the NOTICE file
4 # distributed with this work for additional information regarding copyright
5 # ownership. You may not use this file except in compliance with the License.
6 #
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing,
12 # software distributed under the License is distributed on an
13 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14 # KIND, either express or implied. See the License for the
15 # specific language governing permissions and limitations
16 # under the License.
17 #
18
19 #
20 # Copyright (C) 2018 Scylladb, Ltd.
21 #
22
23 # Logical target for all demos.
24 add_custom_target (demos)
25
26 macro (seastar_add_demo name)
27 set (args ${ARGN})
28
29 cmake_parse_arguments (
30 parsed_args
31 ""
32 ""
33 "SOURCES"
34 ${args})
35
36 set (target demo_${name})
37 add_executable (${target} ${parsed_args_SOURCES})
38
39 target_include_directories (${target}
40 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
41
42 target_link_libraries (${target}
43 PRIVATE
44 Boost::program_options
45 seastar_private)
46
47 set_target_properties (${target}
48 PROPERTIES
49 OUTPUT_NAME ${name}_demo)
50
51 add_dependencies (demos ${target})
52 endmacro ()
53
54 seastar_add_demo (block_discard
55 SOURCES block_discard_demo.cc)
56
57 if (${Seastar_API_LEVEL} GREATER_EQUAL 3)
58 seastar_add_demo (coroutines
59 SOURCES coroutines_demo.cc)
60 endif ()
61
62 seastar_add_demo (echo
63 SOURCES echo_demo.cc)
64
65 seastar_add_demo (ip
66 SOURCES ip_demo.cc)
67
68 seastar_add_demo (line_count
69 SOURCES line_count_demo.cc)
70
71 seastar_add_demo (l3
72 SOURCES l3_demo.cc)
73
74 seastar_add_demo (rpc
75 SOURCES rpc_demo.cc)
76
77 seastar_add_demo (scheduling_group
78 SOURCES scheduling_group_demo.cc)
79
80 seastar_add_demo (tcp
81 SOURCES tcp_demo.cc)
82
83 seastar_add_demo (tcp_sctp_client
84 SOURCES tcp_sctp_client_demo.cc)
85
86 seastar_add_demo (tcp_sctp_server
87 SOURCES tcp_sctp_server_demo.cc)
88
89 seastar_add_demo (tls_echo_server
90 SOURCES
91 tls_echo_server.hh
92 tls_echo_server_demo.cc)
93
94 seastar_add_demo (tls_simple_client
95 SOURCES
96 tls_echo_server.hh
97 tls_simple_client_demo.cc)
98
99 seastar_add_demo (udp_client
100 SOURCES udp_client_demo.cc)
101
102 seastar_add_demo (udp_server
103 SOURCES udp_server_demo.cc)
104
105 seastar_add_demo (udp_zero_copy
106 SOURCES udp_zero_copy_demo.cc)
107
108 seastar_add_demo (sharded_parameter
109 SOURCES sharded_parameter_demo.cc)
110
111 seastar_add_demo (file
112 SOURCES file_demo.cc)
113
114 seastar_add_demo (tutorial_examples
115 SOURCES tutorial_examples.cc)