Add TCP support (#12)
All checks were successful
Linux arm64 / Build (push) Successful in 15s

Reviewed-on: #12
Co-authored-by: Persson-dev <sim16.prib@gmail.com>
Co-committed-by: Persson-dev <sim16.prib@gmail.com>
This commit was merged in pull request #12.
This commit is contained in:
2025-03-03 10:04:41 +00:00
committed by Simon Pribylski
parent 61d0ce3a47
commit 4a7eb7a1df
16 changed files with 521 additions and 26 deletions

View File

@@ -6,12 +6,21 @@ local modules = {
Compression = {
Option = "zlib",
Deps = {"zlib"},
Packages = {"zlib"},
Includes = {"include/(sp/extensions/Compress.h)"},
Sources = {"src/sp/extensions/Compress.cpp"}
},
TcpSocket = {
Option = "tcp",
Deps = {},
Includes = {"include/(sp/extensions/Tcp.h)", "include/(sp/extensions/tcp/*.h)"},
Sources = {"src/sp/extensions/Tcp*.cpp"}
}
}
-- Map modules to options
for name, module in table.orderpairs(modules) do
if module.Option then
@@ -19,6 +28,10 @@ for name, module in table.orderpairs(modules) do
end
end
-- Add modules requirements
for name, module in table.orderpairs(modules) do
if module.Deps then
@@ -26,6 +39,10 @@ for name, module in table.orderpairs(modules) do
end
end
-- Add modules targets
for name, module in table.orderpairs(modules) do
if module.Deps and has_config(module.Option) then
@@ -37,7 +54,7 @@ for name, module in table.orderpairs(modules) do
for _, source in table.orderpairs(module.Sources) do
add_files(source)
end
for _, package in table.orderpairs(module.Packages) do
for _, package in table.orderpairs(module.Deps) do
add_packages(package)
end
set_group("Library")
@@ -45,14 +62,17 @@ for name, module in table.orderpairs(modules) do
end
end
target("SimpleProtocol")
add_includedirs("include")
add_files("src/sp/**.cpp")
local includeFolders = {"common", "default", "io", "protocol"}
for _, folder in ipairs(includeFolders) do
add_headerfiles("include/(sp/" .. folder .. "/**.h)")
end
set_group("Library")
set_kind("$(kind)")
add_headerfiles("include/(sp/**.h)", "include/(sp/**.inl)")
-- adding extensions
for name, module in table.orderpairs(modules) do
@@ -63,8 +83,14 @@ target("SimpleProtocol")
-- we don't want extensions
remove_files("src/sp/extensions/**.cpp")
set_group("Library")
set_kind("$(kind)")
remove_headerfiles("include/(sp/extension/**.h)")
-- we need this for endian functions
if is_os("windows") then
add_links("ws2_32")
end
-- Tests
for _, file in ipairs(os.files("test/**.cpp")) do