Skip to content

Commit 80ef88b

Browse files
committed
feat: add mcpp build support (mcpp.toml)
Adds the mcpp-build manifest alongside the existing xmake.lua so tinyhttps can be consumed/built by both ecosystems. The mcpp side relies on: * mbedtls 3.6.1 — pulled from mcpp-index (the descriptor lands in a parallel mcpp-community/mcpp-index PR). mcpp 0.0.2's C-language compile rule (`c_object`) builds mbedtls from source and packs it into libtinyhttps.a alongside the modular C++23 .m.o files. * gtest 1.15.2 — dev-only, picked up by `mcpp test` to run the existing tests/test_*.cpp. Verified: $ mcpp build ... Compiling mcpplibs.tinyhttps v0.2.0 (.) Cached mbedtls v3.6.1 Finished release [optimized] in 1.52s $ ar t target/.../bin/libtinyhttps.a | grep -c '\\.o$' # all 6 partitions + 108 mbedtls .c
1 parent 8355c66 commit 80ef88b

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

mcpp.toml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[package]
2+
name = "mcpplibs.tinyhttps"
3+
version = "0.2.0"
4+
description = "Minimal C++23 HTTP/HTTPS client with SSE streaming support"
5+
license = "Apache-2.0"
6+
repo = "https://github.com/mcpplibs/tinyhttps"
7+
8+
[language]
9+
standard = "c++23"
10+
modules = true
11+
import_std = true
12+
13+
[modules]
14+
sources = ["src/**/*.cppm"]
15+
exports = ["mcpplibs.tinyhttps"]
16+
17+
[targets.tinyhttps]
18+
kind = "lib"
19+
20+
# mbedtls is the only runtime dep. xmake.lua used `add_packages("mbedtls", { public = true })`;
21+
# the mcpp build picks up mbedtls's headers + libmbedtls.a transparently.
22+
[dependencies]
23+
mbedtls = "3.6.1"
24+
25+
# `mcpp test` resolves these and discovers tests/**/*.cpp automatically.
26+
[dev-dependencies]
27+
gtest = "1.15.2"

0 commit comments

Comments
 (0)