diff --git a/.github/workflows/compiler-support.yml b/.github/workflows/compiler-support.yml index 3608bbe..c823cb8 100644 --- a/.github/workflows/compiler-support.yml +++ b/.github/workflows/compiler-support.yml @@ -11,9 +11,9 @@ jobs: fail-fast: false matrix: compiler: - - { tag: "ubuntu-2204_clang-12", name: "Ubuntu 22.04 Clang 12", cxx: "/usr/bin/clang++-12", cc: "/usr/bin/clang-12", runs-on: "ubuntu-22.04" } - { tag: "ubuntu-2204_clang-13", name: "Ubuntu 22.04 Clang 13", cxx: "/usr/bin/clang++-13", cc: "/usr/bin/clang-13", runs-on: "ubuntu-22.04" } - { tag: "ubuntu-2204_clang-14", name: "Ubuntu 22.04 Clang 14", cxx: "/usr/bin/clang++-14", cc: "/usr/bin/clang-14", runs-on: "ubuntu-22.04" } + - { tag: "ubuntu-2204_clang-15", name: "Ubuntu 22.04 Clang 15", cxx: "/usr/bin/clang++-15", cc: "/usr/bin/clang-15", runs-on: "ubuntu-22.04" } - { tag: "ubuntu-2204_gcc-10", name: "Ubuntu 22.04 G++ 10", cxx: "/usr/bin/g++-10", cc: "/usr/bin/gcc-10", runs-on: "ubuntu-22.04" } - { tag: "ubuntu-2204_gcc-11", name: "Ubuntu 22.04 G++ 11", cxx: "/usr/bin/g++-11", cc: "/usr/bin/gcc-11", runs-on: "ubuntu-22.04" } - { tag: "ubuntu-2004_clang-12", name: "Ubuntu 20.04 Clang 12", cxx: "/usr/bin/clang++-12", cc: "/usr/bin/clang-12", runs-on: "ubuntu-20.04" } @@ -29,9 +29,9 @@ jobs: CC: ${{ matrix.compiler.cc }} outputs: # Because github wants us to suffer we need to list out every output instead of using a matrix statement or some kind of dynamic setting - ubuntu-2204_clang-12: ${{ steps.status.outputs.ubuntu-2204_clang-12 }} ubuntu-2204_clang-13: ${{ steps.status.outputs.ubuntu-2204_clang-13 }} ubuntu-2204_clang-14: ${{ steps.status.outputs.ubuntu-2204_clang-14 }} + ubuntu-2204_clang-15: ${{ steps.status.outputs.ubuntu-2204_clang-15 }} ubuntu-2204_gcc-10: ${{ steps.status.outputs.ubuntu-2204_gcc-10 }} ubuntu-2204_gcc-11: ${{ steps.status.outputs.ubuntu-2204_gcc-11 }} ubuntu-2004_clang-12: ${{ steps.status.outputs.ubuntu-2004_clang-12 }} @@ -46,6 +46,12 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 + # Ubuntu 22.04 container has libstdc++13 installed which is incompatible with clang < 15 in C++20 + - name: Uninstall libstdc++-13-dev + if: (matrix.compiler.tag == 'ubuntu-2204_clang-14') || (matrix.compiler.tag == 'ubuntu-2204_clang-13') + run: | + sudo apt autoremove libstdc++-13-dev gcc-13 libgcc-13-dev + sudo apt install libstdc++-12-dev gcc-12 libgcc-12-dev - name: Install grpc if: contains(matrix.compiler.runs-on, 'ubuntu') uses: ./.github/actions/install/grpc diff --git a/README.md b/README.md index f3be4c7..7d7f5bf 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ Tested and supported compilers: | [![ubuntu-2004_clang-11][img_ubuntu-2004_clang-11]][Compiler-Support] | | [![ubuntu-2004_clang-12][img_ubuntu-2004_clang-12]][Compiler-Support] | | [![ubuntu-2004_gcc-10][img_ubuntu-2004_gcc-10]][Compiler-Support] | -| [![ubuntu-2204_clang-12][img_ubuntu-2204_clang-12]][Compiler-Support] | | [![ubuntu-2204_clang-13][img_ubuntu-2204_clang-13]][Compiler-Support] | | [![ubuntu-2204_clang-14][img_ubuntu-2204_clang-14]][Compiler-Support] | +| [![ubuntu-2204_clang-15][img_ubuntu-2204_clang-15]][Compiler-Support] | | [![ubuntu-2204_gcc-10][img_ubuntu-2204_gcc-10]][Compiler-Support] | | [![ubuntu-2204_gcc-11][img_ubuntu-2204_gcc-11]][Compiler-Support] | @@ -19,9 +19,9 @@ Tested and supported compilers: [img_ubuntu-2004_clang-11]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/asyncpp/asyncpp-curl/badges/compiler/ubuntu-2004_clang-11/shields.json [img_ubuntu-2004_clang-12]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/asyncpp/asyncpp-curl/badges/compiler/ubuntu-2004_clang-12/shields.json [img_ubuntu-2004_gcc-10]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/asyncpp/asyncpp-curl/badges/compiler/ubuntu-2004_gcc-10/shields.json -[img_ubuntu-2204_clang-12]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/asyncpp/asyncpp-curl/badges/compiler/ubuntu-2204_clang-12/shields.json [img_ubuntu-2204_clang-13]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/asyncpp/asyncpp-curl/badges/compiler/ubuntu-2204_clang-13/shields.json [img_ubuntu-2204_clang-14]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/asyncpp/asyncpp-curl/badges/compiler/ubuntu-2204_clang-14/shields.json +[img_ubuntu-2204_clang-15]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/asyncpp/asyncpp-curl/badges/compiler/ubuntu-2204_clang-15/shields.json [img_ubuntu-2204_gcc-10]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/asyncpp/asyncpp-curl/badges/compiler/ubuntu-2204_gcc-10/shields.json [img_ubuntu-2204_gcc-11]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/asyncpp/asyncpp-curl/badges/compiler/ubuntu-2204_gcc-11/shields.json [Compiler-Support]: https://github.com/asyncpp/asyncpp-curl/actions/workflows/compiler-support.yml diff --git a/cmake/GetGRPC.cmake b/cmake/GetGRPC.cmake index 373c2dc..5f7e113 100644 --- a/cmake/GetGRPC.cmake +++ b/cmake/GetGRPC.cmake @@ -1,13 +1,15 @@ -if(TARGET grpc++ AND TARGET grpc AND TARGET grpc_cpp_plugin) +if(TARGET grpc++ + AND TARGET grpc + AND TARGET grpc_cpp_plugin) message(STATUS "Using existing grpc target.") if(NOT TARGET gRPC::grpc++) add_library(gRPC::grpc++ ALIAS grpc++) endif() if(NOT TARGET gRPC::grpc) - add_library(gRPC::grpc ALIAS grpc) + add_library(gRPC::grpc ALIAS grpc) endif() if(NOT TARGET gRPC::grpc_cpp_plugin) - add_executable(gRPC::grpc_cpp_plugin ALIAS grpc_cpp_plugin) + add_executable(gRPC::grpc_cpp_plugin ALIAS grpc_cpp_plugin) endif() elseif(HUNTER_ENABLED) hunter_add_package(gRPC) @@ -54,10 +56,11 @@ else() INTERFACE GRPC_ASAN_SUPPRESSED) if(NOT TARGET gRPC::grpc_cpp_plugin) add_executable(gRPC::grpc_cpp_plugin IMPORTED GLOBAL) - set_property(TARGET gRPC::grpc_cpp_plugin PROPERTY IMPORTED_LOCATION - ${gRPCPP_PB_PLUGIN}) + set_property(TARGET gRPC::grpc_cpp_plugin + PROPERTY IMPORTED_LOCATION ${gRPCPP_PB_PLUGIN}) endif() - set_target_properties(gRPC::grpc_cpp_plugin PROPERTIES IMPORTED_GLOBAL TRUE) + set_target_properties(gRPC::grpc_cpp_plugin PROPERTIES IMPORTED_GLOBAL + TRUE) add_library(protobuf::libprotobuf ALIAS PkgConfig::Protobuf) if(NOT TARGET protobuf::protoc) add_executable(protobuf::protoc IMPORTED GLOBAL) diff --git a/cmake/Hunter/config.cmake b/cmake/Hunter/config.cmake index b039281..edd401e 100644 --- a/cmake/Hunter/config.cmake +++ b/cmake/Hunter/config.cmake @@ -18,4 +18,3 @@ hunter_config( hunter_config(Protobuf VERSION 3.19.4-p0 CMAKE_ARGS CMAKE_POSITION_INDEPENDENT_CODE=ON) - \ No newline at end of file