1 cmake_minimum_required(VERSION 3.12)
3 project(DragonnetExample)
5 set(CMAKE_BUILD_TYPE Debug)
12 set(DEPS_DIR "${CMAKE_SOURCE_DIR}/deps/")
14 include_directories(SYSTEM
18 add_compile_options(-Wall -Wextra -Werror -fmax-errors=4)
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"
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"
38 add_executable(DragonnetTypegen
40 "${DEPS_DIR}/dragonnet/typegen/main.c"
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}"
51 add_custom_target(ExampleTypes
52 DEPENDS "${CMAKE_SOURCE_DIR}/dnet-types.c" "${CMAKE_SOURCE_DIR}/dnet-types.h"
55 add_executable(ExampleCS
62 add_dependencies(ExampleCS ExampleTypes)