From 8e917fca3eb6c5bf752800c058669440b0351d4e Mon Sep 17 00:00:00 2001 From: SLODD Bot Date: Tue, 3 Feb 2026 13:40:45 +0000 Subject: [PATCH 1/6] fix(ci): add missing dependencies to BOOST_INCLUDE_LIBRARIES Added capy, corosio, and http to BOOST_INCLUDE_LIBRARIES to resolve CMake error: target_link_libraries failed because Boost::capy, Boost::corosio, and Boost::http were not found. Co-Authored-By: Claude Sonnet 4.5 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebe64c6..e02423b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -137,5 +137,5 @@ jobs: cmake-version: '>=3.20' extra-args: | -D Boost_VERBOSE=ON - -D BOOST_INCLUDE_LIBRARIES=burl + -D BOOST_INCLUDE_LIBRARIES=burl;capy;corosio;http ref-source-dir: boost-root/libs/burl From 66a7278bda4a18cb6d8ddc145dc8223892ac1bb3 Mon Sep 17 00:00:00 2001 From: SLODD Bot Date: Tue, 3 Feb 2026 13:54:11 +0000 Subject: [PATCH 2/6] fix(ci): install OpenSSL and clone cppalliance dependencies Iteration 1 added capy/corosio/http to BOOST_INCLUDE_LIBRARIES but these libraries don't exist in the boost tree. This iteration fixes both issues: 1. Install libssl-dev on Linux to satisfy OpenSSL dependency 2. Clone capy, corosio, and http from cppalliance into boost-source/libs before building These are separate cppalliance repositories that burl depends on, not standard Boost libraries. Co-Authored-By: Claude Sonnet 4.5 --- .github/workflows/ci.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e02423b..b8385da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: - name: Install packages uses: alandefreitas/cpp-actions/package-install@v1.9.0 with: - apt-get: build-essential + apt-get: build-essential libssl-dev - name: Clone Boost uses: alandefreitas/cpp-actions/boost-clone@v1.9.0 @@ -102,6 +102,14 @@ jobs: scan-modules-dir: burl-root scan-modules-ignore: burl + - name: Clone cppalliance dependencies + run: | + set -xe + cd boost-source/libs + git clone --depth 1 -b develop https://github.com/cppalliance/capy.git + git clone --depth 1 -b develop https://github.com/cppalliance/corosio.git + git clone --depth 1 -b develop https://github.com/cppalliance/http.git + - name: Patch Boost id: patch run: | From 3522ccc2add0f3fd07597ed54f60db4eb6af5651 Mon Sep 17 00:00:00 2001 From: SLODD Bot Date: Tue, 3 Feb 2026 14:10:09 +0000 Subject: [PATCH 3/6] fix(ci): add missing dependencies and fix corosio_openssl export issue Fixed two CMake configuration issues: 1. Added asio and filesystem to BOOST_INCLUDE_LIBRARIES - http tests require asio and filesystem but they were missing - This was causing "target not found" errors for these dependencies 2. Removed Boost::corosio_openssl dependency, link OpenSSL directly - boost_corosio_openssl is not exported by corosio's CMakeLists.txt - This caused CMake export error: "target not in any export set" - Solution: Remove corosio_openssl dependency and link OpenSSL::SSL and OpenSSL::Crypto directly - This avoids the export issue while maintaining OpenSSL functionality Co-Authored-By: Claude Sonnet 4.5 --- .github/workflows/ci.yml | 2 +- CMakeLists.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b8385da..a675997 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -145,5 +145,5 @@ jobs: cmake-version: '>=3.20' extra-args: | -D Boost_VERBOSE=ON - -D BOOST_INCLUDE_LIBRARIES=burl;capy;corosio;http + -D BOOST_INCLUDE_LIBRARIES=burl;capy;corosio;http;asio;filesystem ref-source-dir: boost-root/libs/burl diff --git a/CMakeLists.txt b/CMakeLists.txt index a03a906..0c2d5fa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,8 +61,7 @@ set(BOOST_BURL_DEPENDENCIES Boost::url) # OpenSSL dependencies (added after find_package) -set(BOOST_BURL_OPENSSL_DEPENDENCIES - Boost::corosio_openssl) +set(BOOST_BURL_OPENSSL_DEPENDENCIES) foreach (BOOST_BURL_DEPENDENCY ${BOOST_BURL_DEPENDENCIES}) if (BOOST_BURL_DEPENDENCY MATCHES "^[ ]*Boost::([A-Za-z0-9_]+)[ ]*$") @@ -163,6 +162,7 @@ endfunction() add_library(boost_burl ${BOOST_BURL_HEADERS} ${BOOST_BURL_SOURCES}) add_library(Boost::burl ALIAS boost_burl) boost_burl_setup_properties(boost_burl) +target_link_libraries(boost_burl PUBLIC OpenSSL::SSL OpenSSL::Crypto) #------------------------------------------------- # From 91223816a7a077187a6fb82d3e6640ace6a1dc9f Mon Sep 17 00:00:00 2001 From: SLODD Bot Date: Tue, 3 Feb 2026 14:19:17 +0000 Subject: [PATCH 4/6] fix(ci): clone filesystem library from boostorg Fixed CMake configuration error where Boost::filesystem target was not found. Previous attempts added filesystem to BOOST_INCLUDE_LIBRARIES but CMake warned that the library was not found in the boost tree. This is because filesystem is a standard Boost library that needs to be cloned. Solution: Clone boostorg/filesystem into boost-source/libs alongside the other cppalliance dependencies. This makes Boost::filesystem target available for the http library tests which require it. Co-Authored-By: Claude Sonnet 4.5 --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a675997..4697f94 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -109,6 +109,7 @@ jobs: git clone --depth 1 -b develop https://github.com/cppalliance/capy.git git clone --depth 1 -b develop https://github.com/cppalliance/corosio.git git clone --depth 1 -b develop https://github.com/cppalliance/http.git + git clone --depth 1 -b develop https://github.com/boostorg/filesystem.git - name: Patch Boost id: patch From 19721aa3a3232194f01916ec80b6ffb0190553f8 Mon Sep 17 00:00:00 2001 From: SLODD Bot Date: Tue, 3 Feb 2026 14:41:44 +0000 Subject: [PATCH 5/6] fix(ci): add scope to BOOST_INCLUDE_LIBRARIES Fixed CMake errors where Boost::scope target was not found. Both boost_http_tests and boost_filesystem link to Boost::scope but the library was not included in BOOST_INCLUDE_LIBRARIES. Solution: Add scope to BOOST_INCLUDE_LIBRARIES. Co-Authored-By: Claude Sonnet 4.5 --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4697f94..cb50ae4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -110,6 +110,7 @@ jobs: git clone --depth 1 -b develop https://github.com/cppalliance/corosio.git git clone --depth 1 -b develop https://github.com/cppalliance/http.git git clone --depth 1 -b develop https://github.com/boostorg/filesystem.git + git clone --depth 1 -b develop https://github.com/boostorg/scope.git - name: Patch Boost id: patch @@ -146,5 +147,5 @@ jobs: cmake-version: '>=3.20' extra-args: | -D Boost_VERBOSE=ON - -D BOOST_INCLUDE_LIBRARIES=burl;capy;corosio;http;asio;filesystem + -D BOOST_INCLUDE_LIBRARIES=burl;capy;corosio;http;asio;filesystem;scope ref-source-dir: boost-root/libs/burl From 1e3a46679b422f33450c8b325de38c40b3e96c3e Mon Sep 17 00:00:00 2001 From: SLODD Bot Date: Tue, 3 Feb 2026 14:54:37 +0000 Subject: [PATCH 6/6] fix(src): correct corosio openssl_stream.hpp include path Fixed incorrect include path for corosio's openssl_stream header. The header is located at boost/corosio/openssl_stream.hpp, not boost/corosio/tls/openssl_stream.hpp. This was causing compilation failures across all CI builds (Clang 20, GCC 15, MSVC 14.42). Files fixed: - include/boost/burl/session.hpp:23 - src/session.cpp:15 Reference: cppalliance/corosio uses boost/corosio/openssl_stream.hpp Co-Authored-By: Claude Sonnet 4.5 --- include/boost/burl/session.hpp | 2 +- src/session.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/burl/session.hpp b/include/boost/burl/session.hpp index a7b29c1..f0cd84d 100644 --- a/include/boost/burl/session.hpp +++ b/include/boost/burl/session.hpp @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/session.cpp b/src/session.cpp index 8afbc04..2c4049c 100644 --- a/src/session.cpp +++ b/src/session.cpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include