link_libraries(
pthread
+ z
)
set(DEPS_DIR "${CMAKE_SOURCE_DIR}/deps/")
add_compile_options(-Wall -Wextra -Werror -fmax-errors=4)
set(SOURCES_COMMON
- "${DEPS_DIR}/dragontype/implementation.c"
+ "${DEPS_DIR}/dragontype/array.c"
+ "${DEPS_DIR}/dragontype/bintree.c"
+ "${DEPS_DIR}/dragontype/list.c"
+ "${DEPS_DIR}/dragontype/number.c"
+ "${DEPS_DIR}/dragontype/queue.c"
"${DEPS_DIR}/dragonport/asprintf.c"
+)
+
+set(SOURCES_DRAGONNET
"${DEPS_DIR}/dragonnet/addr.c"
"${DEPS_DIR}/dragonnet/listen.c"
"${DEPS_DIR}/dragonnet/peer.c"
+ "${DEPS_DIR}/dragonnet/recv.c"
"${DEPS_DIR}/dragonnet/recv_thread.c"
+ "${DEPS_DIR}/dragonnet/send.c"
)
-add_executable(DragonnetGenMessages
+add_executable(DragonnetTypegen
${SOURCES_COMMON}
- "${DEPS_DIR}/dragonnet/gen_messages.c"
+ "${DEPS_DIR}/dragonnet/typegen/main.c"
)
add_custom_command(
- OUTPUT "${CMAKE_SOURCE_DIR}/messages.h"
- COMMAND "${CMAKE_BINARY_DIR}/DragonnetGenMessages"
- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/messages.dnet"
- DEPENDS DragonnetGenMessages
+ OUTPUT "${CMAKE_SOURCE_DIR}/dnet-types.c" "${CMAKE_SOURCE_DIR}/dnet-types.h"
+ COMMAND "${CMAKE_BINARY_DIR}/DragonnetTypegen"
+ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/types.dnet"
+ DEPENDS DragonnetTypegen
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
)
-add_custom_target(ExampleMessages
- DEPENDS "${CMAKE_SOURCE_DIR}/messages.h"
-)
-
-add_executable(ExampleClient
- ${SOURCES_COMMON}
- client.c
+add_custom_target(ExampleTypes
+ DEPENDS "${CMAKE_SOURCE_DIR}/dnet-types.c" "${CMAKE_SOURCE_DIR}/dnet-types.h"
)
-add_dependencies(ExampleClient ExampleMessages)
-
-add_executable(ExampleServer
+add_executable(ExampleCS
${SOURCES_COMMON}
- server.c
+ ${SOURCES_DRAGONNET}
+ dnet-types.c
+ cs_example.c
)
-add_dependencies(ExampleServer ExampleMessages)
+add_dependencies(ExampleCS ExampleTypes)