]> git.proxmox.com Git - ceph.git/blame - ceph/src/seastar/demos/CMakeLists.txt
import quincy beta 17.1.0
[ceph.git] / ceph / src / seastar / demos / CMakeLists.txt
CommitLineData
11fdf7f2
TL
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.
24add_custom_target (demos)
25
26macro (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
9f95a23c 45 seastar_private)
11fdf7f2
TL
46
47 set_target_properties (${target}
48 PROPERTIES
9f95a23c 49 OUTPUT_NAME ${name}_demo)
11fdf7f2
TL
50
51 add_dependencies (demos ${target})
52endmacro ()
53
54seastar_add_demo (block_discard
55 SOURCES block_discard_demo.cc)
56
f67539c2 57if (${Seastar_API_LEVEL} GREATER_EQUAL 3)
9f95a23c
TL
58 seastar_add_demo (coroutines
59 SOURCES coroutines_demo.cc)
60endif ()
61
20effc67
TL
62seastar_add_demo (websocket
63 SOURCES websocket_demo.cc)
64
11fdf7f2
TL
65seastar_add_demo (echo
66 SOURCES echo_demo.cc)
67
68seastar_add_demo (ip
69 SOURCES ip_demo.cc)
70
71seastar_add_demo (line_count
72 SOURCES line_count_demo.cc)
73
74seastar_add_demo (l3
75 SOURCES l3_demo.cc)
76
77seastar_add_demo (rpc
78 SOURCES rpc_demo.cc)
79
80seastar_add_demo (scheduling_group
81 SOURCES scheduling_group_demo.cc)
82
83seastar_add_demo (tcp
84 SOURCES tcp_demo.cc)
85
86seastar_add_demo (tcp_sctp_client
87 SOURCES tcp_sctp_client_demo.cc)
88
89seastar_add_demo (tcp_sctp_server
90 SOURCES tcp_sctp_server_demo.cc)
91
92seastar_add_demo (tls_echo_server
93 SOURCES
94 tls_echo_server.hh
95 tls_echo_server_demo.cc)
96
97seastar_add_demo (tls_simple_client
98 SOURCES
99 tls_echo_server.hh
100 tls_simple_client_demo.cc)
101
102seastar_add_demo (udp_client
103 SOURCES udp_client_demo.cc)
104
105seastar_add_demo (udp_server
106 SOURCES udp_server_demo.cc)
107
108seastar_add_demo (udp_zero_copy
109 SOURCES udp_zero_copy_demo.cc)
f67539c2
TL
110
111seastar_add_demo (sharded_parameter
112 SOURCES sharded_parameter_demo.cc)
113
114seastar_add_demo (file
115 SOURCES file_demo.cc)
116
117seastar_add_demo (tutorial_examples
118 SOURCES tutorial_examples.cc)