Skip to content

feat: static curl build + POST streaming transport test#23

Merged
0xeb merged 7 commits intomainfrom
feat/static-curl-post-streaming
Dec 31, 2025
Merged

feat: static curl build + POST streaming transport test#23
0xeb merged 7 commits intomainfrom
feat/static-curl-post-streaming

Conversation

@0xeb
Copy link
Copy Markdown
Owner

@0xeb 0xeb commented Dec 30, 2025

Summary

  • Add CMake option to fetch and statically link libcurl (avoids DLL dependency issues on Windows)
  • Fix POST streaming transport error handling
  • Add POST streaming transport integration test

Changes

  • cmake: fetch libcurl when requested
  • cmake: make fetched curl static + fix POST stream error
  • build(windows): avoid libcurl-d.dll loader errors
  • build: always avoid curl DLL dependency
  • cmake: always fetch static curl when requested
  • test(post-stream): add POST streaming transport test

Test plan

  • CI passes on all platforms
  • POST streaming test passes

0xeb added 7 commits December 27, 2025 01:26
Implements FASTMCPP_FETCH_CURL via FetchContent when POST streaming is enabled and curl isn't available.

Also aligns README version/options wording.
- Prefer libcurl_static and avoid requiring a runtime DLL

- Treat CURLE_PARTIAL_FILE as success for SSE-style POST streams
Link fetched curl statically, and add a build-time helper to copy the curl DLL next to executables when it exists.
Remove the post-build DLL copy helper; the FetchContent curl build is kept static so examples/tests don't require libcurl-d.dll.
When FASTMCPP_ENABLE_POST_STREAMING=ON and FASTMCPP_FETCH_CURL=ON, skip find_package() and build curl via FetchContent as a static library.

Also gates the POST streaming demo test on TARGET CURL::libcurl.
@0xeb 0xeb merged commit aad196d into main Dec 31, 2025
11 of 13 checks passed
@0xeb 0xeb deleted the feat/static-curl-post-streaming branch December 31, 2025 08:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant