]> git.lizzy.rs Git - dragonnet-example.git/blob - CMakeLists.txt
Use demo packets for ping-pong communication
[dragonnet-example.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.12)
2
3 project(DragonnetExample)
4
5 set(CMAKE_BUILD_TYPE Debug)
6
7 link_libraries(
8         pthread
9 )
10
11 set(DEPS_DIR "${CMAKE_SOURCE_DIR}/deps/")
12
13 include_directories(SYSTEM
14         ${DEPS_DIR}
15 )
16
17 add_compile_options(-Wall -Wextra -Werror -fmax-errors=4)
18
19 set(SOURCES_COMMON
20         "${DEPS_DIR}/dragontype/array.c"
21         "${DEPS_DIR}/dragontype/bintree.c"
22         "${DEPS_DIR}/dragontype/list.c"
23         "${DEPS_DIR}/dragontype/number.c"
24         "${DEPS_DIR}/dragontype/queue.c"
25         "${DEPS_DIR}/dragonport/asprintf.c"
26         "${DEPS_DIR}/dragonnet/addr.c"
27         "${DEPS_DIR}/dragonnet/listen.c"
28         "${DEPS_DIR}/dragonnet/peer.c"
29         "${DEPS_DIR}/dragonnet/recv.c"
30         "${DEPS_DIR}/dragonnet/recv_thread.c"
31         "${DEPS_DIR}/dragonnet/send.c"
32 )
33
34 add_executable(DragonnetTypegen
35         ${SOURCES_COMMON}
36         "${DEPS_DIR}/dragonnet/typegen/main.c"
37 )
38
39 add_custom_command(
40         OUTPUT "${CMAKE_SOURCE_DIR}/dnet-types.c" "${CMAKE_SOURCE_DIR}/dnet-types.h"
41         COMMAND "${CMAKE_BINARY_DIR}/DragonnetTypegen"
42         MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/types.dnet"
43         DEPENDS DragonnetTypegen
44         WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
45 )
46
47 add_custom_target(ExampleTypes
48         DEPENDS "${CMAKE_SOURCE_DIR}/dnet-types.c" "${CMAKE_SOURCE_DIR}/dnet-types.h"
49 )
50
51 add_executable(ExampleCS
52         ${SOURCES_COMMON}
53         dnet-types.c
54         cs_example.c
55 )
56
57 add_dependencies(ExampleCS ExampleTypes)