From: Elias Fleckenstein Date: Mon, 4 Oct 2021 08:22:00 +0000 (+0200) Subject: Initial commit X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=3098e052a45d8aae29f1f10c819bf659845eb624;p=dragonnet-example.git Initial commit --- 3098e052a45d8aae29f1f10c819bf659845eb624 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e45f4e3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +CMakeLists.txt.user +CMakeCache.txt +CMakeFiles +CMakeScripts +Testing +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +_deps +DragonnetGenMessages +ExampleClient +ExampleServer +messages.h diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..1c66f30 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,12 @@ +[submodule "deps/dragonnet"] + path = deps/dragonnet + url = git@github.com:dragonblocks/dragonnet +[submodule "deps/dragontype"] + path = deps/dragontype + url = git@github.com:dragonblocks/dragontype +[submodule "deps/dragonport"] + path = deps/dragonport + url = git@github.com:dragonblocks/dragonport +[submodule "deps/endian.h"] + path = deps/endian.h + url = git@github.com:mikepb/endian.h diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..bea285d --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,54 @@ +cmake_minimum_required(VERSION 3.12) + +project(DragonnetExample) + +set(CMAKE_BUILD_TYPE Debug) + +link_libraries( + pthread +) + +set(DEPS_DIR "${CMAKE_SOURCE_DIR}/deps/") + +add_compile_definitions(DRAGONTYPE_ENDIAN_HEADER="${DEPS_DIR}/endian.h/endian.h") + +include_directories(SYSTEM + ${DEPS_DIR} +) + +add_compile_options(-Wall -Wextra -Werror -fmax-errors=4) + +set(SOURCES_COMMON + "${DEPS_DIR}/dragontype/implementation.c" + "${DEPS_DIR}/dragonport/asprintf.c" + "${DEPS_DIR}/dragonnet/addr.c" + "${DEPS_DIR}/dragonnet/listen.c" + "${DEPS_DIR}/dragonnet/peer.c" + "${DEPS_DIR}/dragonnet/recv_thread.c" +) + +add_executable(DragonnetGenMessages + ${SOURCES_COMMON} + "${DEPS_DIR}/dragonnet/gen_messages.c" +) + +add_custom_target(ExampleMessages + COMMAND "${CMAKE_BINARY_DIR}/DragonnetGenMessages" + BYPRODUCTS "${CMAKE_SOURCE_DIR}/messages.h" + DEPENDS DragonnetGenMessages "${CMAKE_SOURCE_DIR}/messages.dnet" + WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" +) + +add_executable(ExampleClient + ${SOURCES_COMMON} + client.c +) + +add_dependencies(ExampleClient ExampleMessages) + +add_executable(ExampleServer + ${SOURCES_COMMON} + server.c +) + +add_dependencies(ExampleServer ExampleMessages) diff --git a/client.c b/client.c new file mode 100644 index 0000000..fbd5656 --- /dev/null +++ b/client.c @@ -0,0 +1,7 @@ +#include +#include "messages.h" + +int main() +{ + printf("hello, client\n"); +} diff --git a/deps/dragonnet b/deps/dragonnet new file mode 160000 index 0000000..53fd766 --- /dev/null +++ b/deps/dragonnet @@ -0,0 +1 @@ +Subproject commit 53fd76697ffbe61a5397425fd0605a48d65cc4eb diff --git a/deps/dragonport b/deps/dragonport new file mode 160000 index 0000000..d719d15 --- /dev/null +++ b/deps/dragonport @@ -0,0 +1 @@ +Subproject commit d719d15af18415f17ba5ab9cde0718f2e38717ba diff --git a/deps/dragontype b/deps/dragontype new file mode 160000 index 0000000..e2b7d38 --- /dev/null +++ b/deps/dragontype @@ -0,0 +1 @@ +Subproject commit e2b7d38971a714300ae0edfc0af7e2ef89e433cc diff --git a/deps/endian.h b/deps/endian.h new file mode 160000 index 0000000..0f885cb --- /dev/null +++ b/deps/endian.h @@ -0,0 +1 @@ +Subproject commit 0f885cbba627efe9b8f763e1c2872e904fe0c0b1 diff --git a/messages.dnet b/messages.dnet new file mode 100644 index 0000000..0988e68 --- /dev/null +++ b/messages.dnet @@ -0,0 +1,5 @@ +PingPacket + s32 number + +PongPacket + s32 number diff --git a/server.c b/server.c new file mode 100644 index 0000000..30b242a --- /dev/null +++ b/server.c @@ -0,0 +1,7 @@ +#include +#include "messages.h" + +int main() +{ + printf("hello, server\n"); +}