diff --git a/.drone.star b/.drone.star index 77e832a..cae42f5 100644 --- a/.drone.star +++ b/.drone.star @@ -15,7 +15,7 @@ def main(ctx): # Compilers [ 'gcc >=5.0', - 'clang >=3.8', + 'clang >=3.9', 'msvc >=14.1', 'arm64-gcc latest', 's390x-gcc latest', @@ -23,11 +23,12 @@ def main(ctx): 'apple-clang *', 'arm64-clang latest', 's390x-clang latest', - # 'x86-msvc latest' + 'freebsd-clang latest', + 'x86-msvc latest' ], # Standards '>=11', - packages=['zlib1g', 'zlib1g-dev']) + packages=['zlib1g', 'zlib1g-dev', 'libbrotli-dev']) # from https://github.com/cppalliance/ci-automation load("@ci_automation//ci/drone/:functions.star", "linux_cxx", "windows_cxx", "osx_cxx", "freebsd_cxx", "generate") diff --git a/.drone/drone.bat b/.drone/drone.bat index 8b0853c..c7b4c51 100644 --- a/.drone/drone.bat +++ b/.drone/drone.bat @@ -43,6 +43,9 @@ echo using zlib : : : ^off ^; >> !BOOST_ROOT!\project-config.jam REM Customizations cd pushd !BOOST_ROOT!\libs +git clone https://github.com/cppalliance/rts -b !BOOST_BRANCH! --depth 1 +popd +pushd !BOOST_ROOT!\libs git clone https://github.com/cppalliance/buffers -b !BOOST_BRANCH! --depth 1 popd pushd !BOOST_ROOT!\libs @@ -50,6 +53,7 @@ git clone https://github.com/cppalliance/http_proto -b !BOOST_BRANCH! --depth 1 popd pushd !BOOST_ROOT! +python tools/boostdep/depinst/depinst.py rts python tools/boostdep/depinst/depinst.py buffers python tools/boostdep/depinst/depinst.py http_proto python tools/boostdep/depinst/depinst.py ws_proto diff --git a/.drone/drone.sh b/.drone/drone.sh index 7d13db1..16a076f 100644 --- a/.drone/drone.sh +++ b/.drone/drone.sh @@ -35,6 +35,12 @@ common_install () { . ./ci/common_install.sh + if [ ! -d "$BOOST_ROOT/libs/rts" ]; then + pushd $BOOST_ROOT/libs + git clone https://github.com/cppalliance/rts -b $BOOST_BRANCH --depth 1 + popd + fi + if [ ! -d "$BOOST_ROOT/libs/buffers" ]; then pushd $BOOST_ROOT/libs git clone https://github.com/cppalliance/buffers -b $BOOST_BRANCH --depth 1 @@ -127,6 +133,12 @@ cp -r $DRONE_BUILD_DIR/* libs/$SELF git submodule update --init --recursive # Customizations +if [ ! -d "$BOOST_ROOT/libs/rts" ]; then + pushd $BOOST_ROOT/libs + git clone https://github.com/cppalliance/rts -b $BOOST_BRANCH --depth 1 + popd +fi + if [ ! -d "$BOOST_ROOT/libs/buffers" ]; then pushd $BOOST_ROOT/libs git clone https://github.com/cppalliance/buffers -b $BOOST_BRANCH --depth 1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 351165e..f9c20ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,14 +61,15 @@ jobs: # - compiler: "msvc" - version: "14.34" + version: "14.42" cxxstd: "17,20" latest-cxxstd: "20" runs-on: "windows-2022" - b2-toolset: "msvc-14.3" + b2-toolset: "msvc-14.4" generator: "Visual Studio 17 2022" is-latest: true - name: "MSVC 14.34: C++17-20" + name: "MSVC 14.42: C++17-20" + shared: false build-type: "Release" build-cmake: true @@ -80,10 +81,10 @@ jobs: b2-toolset: "msvc-14.3" generator: "Visual Studio 17 2022" is-latest: true - name: "MSVC 14.34: C++17-20 (no zlib)" + name: "MSVC 14.34: C++17-20" + shared: true build-type: "Release" build-cmake: true - skip-zlib: true - compiler: "msvc" version: "14.34" @@ -94,6 +95,7 @@ jobs: generator: "Visual Studio 17 2022" is-latest: true name: "MSVC 14.34: C++17-20 (x86)" + shared: false x86: true build-type: "Release" @@ -105,22 +107,11 @@ jobs: b2-toolset: "msvc-14.3" generator: "Visual Studio 17 2022" is-latest: true - name: "MSVC 14.34: C++17-20 (shared)" + name: "MSVC 14.34: C++17-20" shared: true build-type: "Release" build-cmake: true - - compiler: "msvc" - version: "14.29" - cxxstd: "14,17" - latest-cxxstd: "17" - runs-on: "windows-2019" - b2-toolset: "msvc-14.2" - generator: "Visual Studio 16 2019" - is-earliest: true - name: "MSVC 14.29: C++14-17" - build-type: "Release" - - compiler: "clang-cl" version: "*" cxx: "clang++-cl" @@ -131,6 +122,7 @@ jobs: is-latest: true is-earliest: true name: "Windows-Clang" + shared: false build-type: "Release" build-cmake: true @@ -141,9 +133,10 @@ jobs: runs-on: "windows-2022" b2-toolset: "gcc" generator: "MinGW Makefiles" - is-latest: true + is-latest: false is-earliest: true name: "MinGW" + shared: true build-type: "Release" build-cmake: true @@ -154,10 +147,10 @@ jobs: runs-on: "windows-2022" b2-toolset: "gcc" generator: "MinGW Makefiles" - is-latest: true + is-latest: false is-earliest: true - name: "MinGW (shared)" - shared: true + name: "MinGW" + shared: false build-type: "Release" build-cmake: true @@ -172,6 +165,7 @@ jobs: b2-toolset: "clang" is-latest: true name: "Apple-Clang (macOS 15)" + shared: true build-type: "Release" build-cmake: true @@ -183,6 +177,7 @@ jobs: b2-toolset: "clang" is-latest: true name: "Apple-Clang (macOS 15, ubsan)" + shared: false build-type: "RelWithDebInfo" ubsan: true @@ -194,6 +189,7 @@ jobs: b2-toolset: "clang" is-latest: true name: "Apple-Clang (macOS 15, asan)" + shared: true build-type: "RelWithDebInfo" asan: true @@ -204,6 +200,7 @@ jobs: runs-on: "macos-14" b2-toolset: "clang" name: "Apple-Clang (macOS 14)" + shared: false build-type: "Release" build-cmake: true @@ -214,6 +211,7 @@ jobs: runs-on: "macos-13" b2-toolset: "clang" name: "Apple-Clang (macOS 13)" + shared: true build-type: "Release" build-cmake: true @@ -231,8 +229,8 @@ jobs: b2-toolset: "gcc" is-latest: true name: "GCC 14: C++17-20" + shared: false build-type: "Release" - install: "zlib1g-dev" build-cmake: true - compiler: "gcc" @@ -246,6 +244,7 @@ jobs: b2-toolset: "gcc" is-latest: true name: "GCC 14: C++17-20 (no zlib)" + shared: true build-type: "Release" build-cmake: true @@ -260,9 +259,10 @@ jobs: b2-toolset: "gcc" is-latest: true name: "GCC 14: C++17-20 (x86)" + shared: false x86: true build-type: "Release" - install: "gcc-14-multilib g++-14-multilib zlib1g-dev zlib1g-dev:i386" + install: "gcc-14-multilib g++-14-multilib" - compiler: "gcc" version: "14" @@ -274,10 +274,9 @@ jobs: container: "ubuntu:24.04" b2-toolset: "gcc" is-latest: true - name: "GCC 14: C++17-20 (shared)" + name: "GCC 14: C++17-20" shared: true build-type: "Release" - install: "zlib1g-dev" build-cmake: true - compiler: "gcc" @@ -290,11 +289,11 @@ jobs: container: "ubuntu:24.04" b2-toolset: "gcc" is-latest: true - name: "GCC 14: C++17-20 (shared, x86)" - shared: true + name: "GCC 14: C++17-20 (x86)" + shared: false x86: true build-type: "Release" - install: "gcc-14-multilib g++-14-multilib zlib1g-dev zlib1g-dev:i386" + install: "gcc-14-multilib g++-14-multilib" build-cmake: true - compiler: "gcc" @@ -308,9 +307,9 @@ jobs: b2-toolset: "gcc" is-latest: true name: "GCC 14: C++17-20 (asan)" + shared: true asan: true build-type: "RelWithDebInfo" - install: "zlib1g-dev" - compiler: "gcc" version: "14" @@ -323,10 +322,11 @@ jobs: b2-toolset: "gcc" is-latest: true name: "GCC 14: C++17-20 (asan, x86)" + shared: false asan: true x86: true build-type: "RelWithDebInfo" - install: "gcc-14-multilib g++-14-multilib zlib1g-dev zlib1g-dev:i386" + install: "gcc-14-multilib g++-14-multilib" - compiler: "gcc" version: "14" @@ -339,9 +339,9 @@ jobs: b2-toolset: "gcc" is-latest: true name: "GCC 14: C++17-20 (ubsan)" + shared: true ubsan: true build-type: "RelWithDebInfo" - install: "zlib1g-dev" - compiler: "gcc" version: "14" @@ -354,10 +354,11 @@ jobs: b2-toolset: "gcc" is-latest: true name: "GCC 14: C++17-20 (ubsan, x86)" + shared: false ubsan: true x86: true build-type: "RelWithDebInfo" - install: "gcc-14-multilib g++-14-multilib zlib1g-dev zlib1g-dev:i386" + install: "gcc-14-multilib g++-14-multilib" - compiler: "gcc" version: "13" @@ -368,8 +369,8 @@ jobs: runs-on: "ubuntu-24.04" b2-toolset: "gcc" name: "GCC 13: C++17-20" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "gcc" version: "13" @@ -381,11 +382,12 @@ jobs: b2-toolset: "gcc" is-latest: true name: "GCC 13: C++17-20 (coverage)" + shared: false coverage: true build-type: "Debug" cxxflags: "--coverage -fprofile-arcs -ftest-coverage" ccflags: "--coverage -fprofile-arcs -ftest-coverage" - install: "lcov zlib1g-dev wget unzip" + install: "lcov wget unzip" - compiler: "gcc" version: "12" @@ -397,8 +399,8 @@ jobs: container: "ubuntu:22.04" b2-toolset: "gcc" name: "GCC 12: C++17-20" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "gcc" version: "11" @@ -410,8 +412,8 @@ jobs: container: "ubuntu:22.04" b2-toolset: "gcc" name: "GCC 11: C++17-20" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "gcc" version: "10" @@ -423,8 +425,8 @@ jobs: container: "ubuntu:20.04" b2-toolset: "gcc" name: "GCC 10: C++14-17" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "gcc" version: "9" @@ -436,8 +438,8 @@ jobs: container: "ubuntu:20.04" b2-toolset: "gcc" name: "GCC 9: C++14-17" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "gcc" version: "8" @@ -449,8 +451,8 @@ jobs: container: "ubuntu:20.04" b2-toolset: "gcc" name: "GCC 8: C++14-17" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "gcc" version: "7" @@ -462,8 +464,8 @@ jobs: container: "ubuntu:20.04" b2-toolset: "gcc" name: "GCC 7: C++14-17" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "gcc" version: "6" @@ -475,8 +477,8 @@ jobs: container: "ubuntu:18.04" b2-toolset: "gcc" name: "GCC 6: C++11-14" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "gcc" version: "5" @@ -489,8 +491,8 @@ jobs: b2-toolset: "gcc" is-earliest: true name: "GCC 5: C++11" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "18" @@ -503,8 +505,8 @@ jobs: b2-toolset: "clang" is-latest: true name: "Clang 18: C++17-20" + shared: true build-type: "Release" - install: "zlib1g-dev" build-cmake: true - compiler: "clang" @@ -518,9 +520,10 @@ jobs: b2-toolset: "clang" is-latest: true name: "Clang 18: C++17-20 (x86)" + shared: false x86: true build-type: "Release" - install: "gcc-multilib g++-multilib zlib1g-dev zlib1g-dev:i386" + install: "gcc-multilib g++-multilib" - compiler: "clang" version: "18" @@ -533,11 +536,12 @@ jobs: b2-toolset: "clang" is-latest: true name: "Clang 18: C++20 (time-trace)" + shared: true time-trace: true build-type: "Release" cxxflags: "-ftime-trace" ccflags: "-ftime-trace" - install: "zlib1g-dev wget unzip" + install: " wget unzip" - compiler: "clang" version: "18" @@ -550,9 +554,9 @@ jobs: b2-toolset: "clang" is-latest: true name: "Clang 18: C++17-20 (asan)" + shared: false asan: true build-type: "RelWithDebInfo" - install: "zlib1g-dev" - compiler: "clang" version: "18" @@ -565,10 +569,11 @@ jobs: b2-toolset: "clang" is-latest: true name: "Clang 18: C++17-20 (asan, x86)" + shared: true asan: true x86: true build-type: "RelWithDebInfo" - install: "gcc-multilib g++-multilib zlib1g-dev zlib1g-dev:i386" + install: "gcc-multilib g++-multilib" - compiler: "clang" version: "18" @@ -581,9 +586,9 @@ jobs: b2-toolset: "clang" is-latest: true name: "Clang 18: C++17-20 (ubsan)" + shared: false ubsan: true build-type: "RelWithDebInfo" - install: "zlib1g-dev" - compiler: "clang" version: "18" @@ -596,10 +601,11 @@ jobs: b2-toolset: "clang" is-latest: true name: "Clang 18: C++17-20 (ubsan, x86)" + shared: true ubsan: true x86: true build-type: "RelWithDebInfo" - install: "gcc-multilib g++-multilib zlib1g-dev zlib1g-dev:i386" + install: "gcc-multilib g++-multilib" - compiler: "clang" version: "17" @@ -610,8 +616,8 @@ jobs: runs-on: "ubuntu-24.04" b2-toolset: "clang" name: "Clang 17: C++17-20" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "16" @@ -622,8 +628,8 @@ jobs: runs-on: "ubuntu-24.04" b2-toolset: "clang" name: "Clang 16: C++17-20" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "15" @@ -635,8 +641,8 @@ jobs: container: "ubuntu:22.04" b2-toolset: "clang" name: "Clang 15: C++17-20" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "14" @@ -648,8 +654,8 @@ jobs: container: "ubuntu:22.04" b2-toolset: "clang" name: "Clang 14: C++17-20" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "13" @@ -661,8 +667,8 @@ jobs: container: "ubuntu:22.04" b2-toolset: "clang" name: "Clang 13: C++17-20" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "12" @@ -674,8 +680,8 @@ jobs: container: "ubuntu:22.04" b2-toolset: "clang" name: "Clang 12: C++17-20" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "11" @@ -687,8 +693,8 @@ jobs: container: "ubuntu:22.04" b2-toolset: "clang" name: "Clang 11: C++14-17" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "10" @@ -700,8 +706,8 @@ jobs: container: "ubuntu:20.04" b2-toolset: "clang" name: "Clang 10: C++14-17" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "9" @@ -713,8 +719,8 @@ jobs: container: "ubuntu:20.04" b2-toolset: "clang" name: "Clang 9: C++14-17" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "8" @@ -726,8 +732,8 @@ jobs: container: "ubuntu:20.04" b2-toolset: "clang" name: "Clang 8: C++14-17" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "7" @@ -739,8 +745,8 @@ jobs: container: "ubuntu:20.04" b2-toolset: "clang" name: "Clang 7: C++14-17" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "6" @@ -752,8 +758,8 @@ jobs: container: "ubuntu:20.04" b2-toolset: "clang" name: "Clang 6: C++14-17" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "5" @@ -765,8 +771,8 @@ jobs: container: "ubuntu:18.04" b2-toolset: "clang" name: "Clang 5: C++11-14" + shared: false build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "4" @@ -778,8 +784,8 @@ jobs: container: "ubuntu:18.04" b2-toolset: "clang" name: "Clang 4: C++11-14" + shared: true build-type: "Release" - install: "zlib1g-dev" - compiler: "clang" version: "3.9" @@ -792,9 +798,8 @@ jobs: b2-toolset: "clang" is-earliest: true name: "Clang 3.9: C++11" + shared: false build-type: "Release" - install: "zlib1g-dev" - name: ${{ matrix.name }} runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)[matrix.runs-on] }} @@ -835,8 +840,15 @@ jobs: repository: cppalliance/buffers ref: develop + - name: Clone Boost.RunTimeServices + uses: actions/checkout@v3 + with: + path: rts-root + repository: cppalliance/rts + ref: develop + - name: Setup C++ - uses: alandefreitas/cpp-actions/setup-cpp@v1.8.8 + uses: alandefreitas/cpp-actions/setup-cpp@v1.8.10 id: setup-cpp with: compiler: ${{ matrix.compiler }} @@ -845,17 +857,17 @@ jobs: trace-commands: true - name: Install packages - uses: alandefreitas/cpp-actions/package-install@v1.8.8 + uses: alandefreitas/cpp-actions/package-install@v1.8.10 id: package-install with: - apt-get-add-architecture: 'i386' + apt-get-add-architecture: ${{ matrix.x86 && 'i386' || '' }} apt-get: >- ${{ matrix.install }} - libssl-dev - build-essential + build-essential zlib1g-dev + ${{ matrix.x86 && 'zlib1g-dev:i386' || '' }} - name: Clone Boost - uses: alandefreitas/cpp-actions/boost-clone@v1.8.8 + uses: alandefreitas/cpp-actions/boost-clone@v1.8.10 id: boost-clone with: branch: ${{ (github.ref_name == 'master' && github.ref_name) || 'develop' }} @@ -866,13 +878,15 @@ jobs: ws-proto-root http-proto-root buffers-root + rts-root scan-modules-ignore: | ws_proto http_proto buffers + rts - name: Install packages (Windows) - uses: alandefreitas/cpp-actions/package-install@v1.8.8 + uses: alandefreitas/cpp-actions/package-install@v1.8.10 if: ${{ startsWith(matrix.runs-on, 'windows') }} id: package-install-windows with: @@ -891,8 +905,10 @@ jobs: triplet=${{ matrix.x86 && 'x86-windows' || 'x64-windows' }} addrmdl=${{ matrix.x86 && '32' || '64' }} - echo "using zlib : : \"${home}/vcpkg-root/installed/${triplet}/include\" \"${home}/vcpkg-root/installed/${triplet}/lib\" zlib : ${addrmdl} ;" | sed 's/\/d\//D:\//g' > user-config.jam - cat user-config.jam + # This is temporary until we move rts/build/brotli.jam to boost/tools/build + echo "import-search ${home}/boost-root/libs/rts/build ;" | sed 's/\/d\//D:\//g' >> user-config.jam + + echo "using zlib : : \"${home}/vcpkg-root/installed/${triplet}/include\" \"${home}/vcpkg-root/installed/${triplet}/lib\" \"${home}/vcpkg-root/installed/${triplet}/bin\" zlib : ${addrmdl} ;" | sed 's/\/d\//D:\//g' >> user-config.jam toolchain=$(echo "$GITHUB_WORKSPACE/vcpkg-root/scripts/buildsystems/vcpkg.cmake" | sed 's/\/d\//D:\//g' ) cat ${toolchain} @@ -933,12 +949,13 @@ jobs: echo -E "boost_root=$boost_root" >> $GITHUB_OUTPUT # Patch boost-root with workspace module + cp -r "$workspace_root"/rts-root libs/rts cp -r "$workspace_root"/buffers-root libs/buffers cp -r "$workspace_root"/http-proto-root libs/http_proto cp -r "$workspace_root"/ws-proto-root libs/ws_proto - name: Boost B2 Workflow - uses: alandefreitas/cpp-actions/b2-workflow@v1.8.8 + uses: alandefreitas/cpp-actions/b2-workflow@v1.8.10 if: ${{ !matrix.coverage && !matrix.time-trace }} env: ASAN_OPTIONS: ${{ (startsWith(matrix.compiler, 'apple-clang') && 'detect_invalid_pointer_pairs=0') || 'detect_invalid_pointer_pairs=2' }} @@ -959,7 +976,7 @@ jobs: stop-on-error: true - name: Boost CMake Workflow - uses: alandefreitas/cpp-actions/cmake-workflow@v1.8.8 + uses: alandefreitas/cpp-actions/cmake-workflow@v1.8.10 if: ${{ matrix.coverage || matrix.time-trace || matrix.build-cmake || matrix.is-earliest }} with: source-dir: boost-root @@ -996,7 +1013,7 @@ jobs: echo "LD_LIBRARY_PATH=$GITHUB_WORKSPACE/.local/lib:$LD_LIBRARY_PATH" >> "$GITHUB_ENV" - name: Find Package Integration Workflow - uses: alandefreitas/cpp-actions/cmake-workflow@v1.8.8 + uses: alandefreitas/cpp-actions/cmake-workflow@v1.8.10 if: ${{ matrix.build-cmake || matrix.is-earliest }} with: source-dir: boost-root/libs/${{ steps.patch.outputs.module }}/test/cmake_test @@ -1020,7 +1037,7 @@ jobs: toolchain: ${{ (startsWith(matrix.runs-on, 'windows') && steps.patch-user-config.outputs.toolchain) || '' }} - name: Subdirectory Integration Workflow - uses: alandefreitas/cpp-actions/cmake-workflow@v1.8.8 + uses: alandefreitas/cpp-actions/cmake-workflow@v1.8.10 if: ${{ matrix.build-cmake || matrix.is-earliest }} with: source-dir: boost-root/libs/${{ steps.patch.outputs.module }}/test/cmake_test @@ -1041,7 +1058,7 @@ jobs: toolchain: ${{ (startsWith(matrix.runs-on, 'windows') && steps.patch-user-config.outputs.toolchain) || '' }} - name: Root Project CMake Workflow - uses: alandefreitas/cpp-actions/cmake-workflow@v1.8.8 + uses: alandefreitas/cpp-actions/cmake-workflow@v1.8.10 if: ${{ matrix.build-cmake || matrix.is-earliest }} with: source-dir: boost-root/libs/${{ steps.patch.outputs.module }} @@ -1065,7 +1082,7 @@ jobs: toolchain: ${{ (startsWith(matrix.runs-on, 'windows') && steps.patch-user-config.outputs.toolchain) || '' }} - name: FlameGraph - uses: alandefreitas/cpp-actions/flamegraph@v1.8.8 + uses: alandefreitas/cpp-actions/flamegraph@v1.8.10 if: matrix.time-trace with: source-dir: boost-root/libs/ws_proto @@ -1118,7 +1135,7 @@ jobs: fetch-depth: 100 - name: Changelog - uses: alandefreitas/cpp-actions/create-changelog@v1.8.8 + uses: alandefreitas/cpp-actions/create-changelog@v1.8.10 with: thank-non-regular: ${{ startsWith(github.ref, 'refs/tags/') }} github-token: ${{ secrets.GITHUB_TOKEN }} @@ -1132,7 +1149,7 @@ jobs: include: - { name: Windows, os: windows-latest } - { name: Ubuntu, os: ubuntu-latest } - - { name: MacOS, os: macos-latest } + - { name: MacOS, os: macos-15 } name: Antora Docs (${{ matrix.name }}) runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)[matrix.os] }} defaults: @@ -1163,8 +1180,15 @@ jobs: repository: cppalliance/buffers ref: develop + - name: Clone Boost.RunTimeServices + uses: actions/checkout@v3 + with: + path: rts-root + repository: cppalliance/rts + ref: develop + - name: Clone Boost - uses: alandefreitas/cpp-actions/boost-clone@v1.8.8 + uses: alandefreitas/cpp-actions/boost-clone@v1.8.10 id: boost-clone with: branch: ${{ (github.ref_name == 'master' && github.ref_name) || 'develop' }} @@ -1175,10 +1199,12 @@ jobs: ws-proto-root http-proto-root buffers-root + rts-root scan-modules-ignore: | ws_proto http_proto buffers + rts - name: Patch Boost id: patch @@ -1210,6 +1236,7 @@ jobs: echo -E "boost_root=$boost_root" >> $GITHUB_OUTPUT # Patch boost-root with workspace module + cp -r "$workspace_root"/rts-root libs/rts cp -r "$workspace_root"/buffers-root libs/buffers cp -r "$workspace_root"/http-proto-root libs/http_proto cp -r "$workspace_root"/ws-proto-root libs/ws_proto diff --git a/CMakeLists.txt b/CMakeLists.txt index e4da153..eefa361 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,6 +136,7 @@ add_library(boost_ws_proto ${BOOST_WS_PROTO_HEADERS} ${BOOST_WS_PROTO_SOURCES}) add_library(Boost::ws_proto ALIAS boost_ws_proto) target_compile_features(boost_ws_proto PUBLIC cxx_constexpr) target_include_directories(boost_ws_proto PUBLIC "${PROJECT_SOURCE_DIR}/include") +target_include_directories(boost_ws_proto PRIVATE "${PROJECT_SOURCE_DIR}") target_link_libraries(boost_ws_proto PUBLIC ${BOOST_WS_PROTO_DEPENDENCIES}) target_compile_definitions(boost_ws_proto PUBLIC BOOST_WS_PROTO_NO_LIB) target_compile_definitions(boost_ws_proto PRIVATE BOOST_WS_PROTO_SOURCE) diff --git a/build/Jamfile b/build/Jamfile index c254638..6a4a29b 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -44,6 +44,7 @@ lib boost_ws_proto : requirements /boost//buffers /boost//http_proto + ../ BOOST_WS_PROTO_SOURCE : usage-requirements /boost//buffers diff --git a/cmake/toolchains/common.cmake b/cmake/toolchains/common.cmake index 0b7727a..04ec0bd 100644 --- a/cmake/toolchains/common.cmake +++ b/cmake/toolchains/common.cmake @@ -14,11 +14,3 @@ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO ON CACHE STRING "") if(WIN32) add_definitions(-D_WIN32_WINNT=0x0601 -D_CRT_SECURE_NO_WARNINGS) endif() - -# Project options. -set(BOOST_JSON_BUILD_BENCHMARKS ON CACHE STRING "") - -# Detect Boost tree. -if(NOT DEFINED BOOST_JSON_IN_BOOST_TREE AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../../../Jamroot") - set(BOOST_JSON_IN_BOOST_TREE ON CACHE STRING "") -endif() diff --git a/doc/local-playbook.yml b/doc/local-playbook.yml index a01d0b4..3ff579e 100644 --- a/doc/local-playbook.yml +++ b/doc/local-playbook.yml @@ -14,7 +14,7 @@ content: ui: bundle: - url: https://github.com/boostorg/website-v2-docs/releases/download/ui-master/ui-bundle.zip + url: https://github.com/boostorg/website-v2-docs/releases/download/ui-develop/ui-bundle.zip snapshot: true antora: diff --git a/test/cmake_test/CMakeLists.txt b/test/cmake_test/CMakeLists.txt index 2a4aadb..d1ada5c 100644 --- a/test/cmake_test/CMakeLists.txt +++ b/test/cmake_test/CMakeLists.txt @@ -32,6 +32,7 @@ else() mp11 static_assert system + rts throw_exception type_traits url diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index 9d90661..02cd640 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -8,8 +8,9 @@ # set(EXTRAFILES - ../../../url/extra/test_main.cpp - ../../../url/extra/test_suite.hpp + ../../../url/extra/test_suite/test_main.cpp + ../../../url/extra/test_suite/test_suite.cpp + ../../../url/extra/test_suite/test_suite.hpp ) file(GLOB_RECURSE PFILES CONFIGURE_DEPENDS *.cpp *.hpp) @@ -21,14 +22,13 @@ list(APPEND PFILES source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "" FILES ${PFILES}) source_group("_extra" FILES ${EXTRAFILES}) add_executable(boost_ws_proto_tests ${PFILES} ${EXTRAFILES}) -target_include_directories(boost_ws_proto_tests PRIVATE . ../../../url/extra) +target_include_directories(boost_ws_proto_tests PRIVATE . ../../../url/extra/test_suite) target_link_libraries(boost_ws_proto_tests PRIVATE boost_ws_proto) -if (ZLIB_FOUND) - target_link_libraries(boost_ws_proto_tests PRIVATE - boost_http_proto_zlib - ZLIB::ZLIB) + +if (TARGET boost_rts_zlib) + target_link_libraries(boost_ws_proto_tests PRIVATE boost_rts_zlib) endif () add_test(NAME boost_ws_proto_tests COMMAND boost_ws_proto_tests) diff --git a/test/unit/Jamfile b/test/unit/Jamfile index 86ca7d9..48e980d 100644 --- a/test/unit/Jamfile +++ b/test/unit/Jamfile @@ -16,10 +16,11 @@ project : requirements $(c11-requires) /boost/ws_proto//boost_ws_proto - [ ac.check-library /boost/http_proto//boost_http_proto_zlib : /boost/http_proto//boost_http_proto_zlib : ] - ../../../url/extra/test_main.cpp + [ ac.check-library /boost/rts//boost_rts_zlib : /boost/rts//boost_rts_zlib : ] + ../../../url/extra/test_suite/test_main.cpp + ../../../url/extra/test_suite/test_suite.cpp . - ../../../url/extra + ../../../url/extra/test_suite extra on darwin,norecover:static