]> git.lizzy.rs Git - dragonnet-example.git/commitdiff
Initial commit
authorElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 4 Oct 2021 08:22:00 +0000 (10:22 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 4 Oct 2021 08:22:00 +0000 (10:22 +0200)
.gitignore [new file with mode: 0644]
.gitmodules [new file with mode: 0644]
CMakeLists.txt [new file with mode: 0644]
client.c [new file with mode: 0644]
deps/dragonnet [new submodule]
deps/dragonport [new submodule]
deps/dragontype [new submodule]
deps/endian.h [new submodule]
messages.dnet [new file with mode: 0644]
server.c [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..e45f4e3
--- /dev/null
@@ -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 (file)
index 0000000..1c66f30
--- /dev/null
@@ -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 (file)
index 0000000..bea285d
--- /dev/null
@@ -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 (file)
index 0000000..fbd5656
--- /dev/null
+++ b/client.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+#include "messages.h"
+
+int main()
+{
+       printf("hello, client\n");
+}
diff --git a/deps/dragonnet b/deps/dragonnet
new file mode 160000 (submodule)
index 0000000..53fd766
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 53fd76697ffbe61a5397425fd0605a48d65cc4eb
diff --git a/deps/dragonport b/deps/dragonport
new file mode 160000 (submodule)
index 0000000..d719d15
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit d719d15af18415f17ba5ab9cde0718f2e38717ba
diff --git a/deps/dragontype b/deps/dragontype
new file mode 160000 (submodule)
index 0000000..e2b7d38
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit e2b7d38971a714300ae0edfc0af7e2ef89e433cc
diff --git a/deps/endian.h b/deps/endian.h
new file mode 160000 (submodule)
index 0000000..0f885cb
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 0f885cbba627efe9b8f763e1c2872e904fe0c0b1
diff --git a/messages.dnet b/messages.dnet
new file mode 100644 (file)
index 0000000..0988e68
--- /dev/null
@@ -0,0 +1,5 @@
+PingPacket
+       s32 number
+
+PongPacket
+       s32 number
diff --git a/server.c b/server.c
new file mode 100644 (file)
index 0000000..30b242a
--- /dev/null
+++ b/server.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+#include "messages.h"
+
+int main()
+{
+       printf("hello, server\n");
+}