]> git.lizzy.rs Git - dragonnet-example.git/blob - CMakeLists.txt
Depreate
[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         z
10 )
11
12 set(DEPS_DIR "${CMAKE_SOURCE_DIR}/deps/")
13
14 include_directories(SYSTEM
15         ${DEPS_DIR}
16 )
17
18 add_compile_options(-Wall -Wextra -Werror -fmax-errors=4)
19
20 set(SOURCES_COMMON
21         "${DEPS_DIR}/dragontype/array.c"
22         "${DEPS_DIR}/dragontype/bintree.c"
23         "${DEPS_DIR}/dragontype/list.c"
24         "${DEPS_DIR}/dragontype/number.c"
25         "${DEPS_DIR}/dragontype/queue.c"
26         "${DEPS_DIR}/dragonport/asprintf.c"
27 )
28
29 set(SOURCES_DRAGONNET
30         "${DEPS_DIR}/dragonnet/addr.c"
31         "${DEPS_DIR}/dragonnet/listen.c"
32         "${DEPS_DIR}/dragonnet/peer.c"
33         "${DEPS_DIR}/dragonnet/recv.c"
34         "${DEPS_DIR}/dragonnet/recv_thread.c"
35         "${DEPS_DIR}/dragonnet/send.c"
36 )
37
38 add_executable(DragonnetTypegen
39         ${SOURCES_COMMON}
40         "${DEPS_DIR}/dragonnet/typegen/main.c"
41 )
42
43 add_custom_command(
44         OUTPUT "${CMAKE_SOURCE_DIR}/dnet-types.c" "${CMAKE_SOURCE_DIR}/dnet-types.h"
45         COMMAND "${CMAKE_BINARY_DIR}/DragonnetTypegen"
46         MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/types.dnet"
47         DEPENDS DragonnetTypegen
48         WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
49 )
50
51 add_custom_target(ExampleTypes
52         DEPENDS "${CMAKE_SOURCE_DIR}/dnet-types.c" "${CMAKE_SOURCE_DIR}/dnet-types.h"
53 )
54
55 add_executable(ExampleCS
56         ${SOURCES_COMMON}
57         ${SOURCES_DRAGONNET}
58         dnet-types.c
59         cs_example.c
60 )
61
62 add_dependencies(ExampleCS ExampleTypes)