diff options
author | Robert Adam <dev@robert-adam.de> | 2020-04-20 14:01:25 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-20 14:01:25 +0300 |
commit | 35c1d01b216f1d7e7fb9bd0cd8ecce09681f02c3 (patch) | |
tree | e6972f654d8238a078921566a72f78a8756c8f53 | |
parent | 60677690b75b6f187911b33db14eb0a8be4899ff (diff) | |
parent | 4ab0e03492f65ec29009250733124d4c05b62303 (diff) |
Merge pull request #4082: Fix grpc build
This PR fixes a compilation error that occurs when building murmur with GRPC enabled with an older version of the GRPC lib (probably a version less than 1.28 but I'm not sure of the exact version).
Furthermore it fixes a Qt warning about a deprecated function (Qt >= 5.14) in the GRPC code.
Finally it adds GRPC to be built on our CI in order to catch errors in the GRPC code in the CI as well.
-rwxr-xr-x | scripts/travis-ci/before_install.bash | 3 | ||||
-rwxr-xr-x | scripts/travis-ci/script.bash | 4 | ||||
-rw-r--r-- | src/murmur/MurmurGRPCImpl.cpp | 5 | ||||
-rw-r--r-- | src/murmur/MurmurGRPCImpl.h | 2 |
4 files changed, 10 insertions, 4 deletions
diff --git a/scripts/travis-ci/before_install.bash b/scripts/travis-ci/before_install.bash index 53627b8ed..7ac278c99 100755 --- a/scripts/travis-ci/before_install.bash +++ b/scripts/travis-ci/before_install.bash @@ -22,7 +22,8 @@ if [ "${TRAVIS_OS_NAME}" == "linux" ]; then libcap-dev libxi-dev \ libasound2-dev libpulse-dev \ libogg-dev libsndfile1-dev libspeechd-dev \ - libavahi-compat-libdnssd-dev libzeroc-ice-dev libg15daemon-client-dev + libavahi-compat-libdnssd-dev libzeroc-ice-dev libg15daemon-client-dev \ + libgrpc++-dev libprotoc-dev protobuf-compiler-grpc elif [ "${MUMBLE_HOST}" == "i686-w64-mingw32" ]; then sudo dpkg --add-architecture i386 sudo apt-get -qq update diff --git a/scripts/travis-ci/script.bash b/scripts/travis-ci/script.bash index a20851b1b..b92fd5cfb 100755 --- a/scripts/travis-ci/script.bash +++ b/scripts/travis-ci/script.bash @@ -17,11 +17,11 @@ if [ "${TRAVIS_OS_NAME}" == "linux" ]; then if [ "${MUMBLE_NO_PCH}" == "1" ]; then EXTRA_CONFIG="no-pch ${EXTRA_CONFIG}" fi - qmake CONFIG+="release tests g15-emulator ${EXTRA_CONFIG}" DEFINES+="MUMBLE_VERSION=${TRAVIS_COMMIT:0:7}" -recursive + qmake CONFIG+="release tests g15-emulator grpc ${EXTRA_CONFIG}" DEFINES+="MUMBLE_VERSION=${TRAVIS_COMMIT:0:7}" -recursive make -j2 make check elif [ "${MUMBLE_HOST}" == "aarch64-linux-gnu" ]; then - qmake CONFIG+="release tests warnings-as-errors ${EXTRA_CONFIG}" -recursive + qmake CONFIG+="release tests warnings-as-errors grpc ${EXTRA_CONFIG}" -recursive make -j $(nproc) elif [ "${MUMBLE_HOST}" == "i686-w64-mingw32" ]; then wget http://www.steinberg.net/sdk_downloads/asiosdk2.3.zip -P ../ diff --git a/src/murmur/MurmurGRPCImpl.cpp b/src/murmur/MurmurGRPCImpl.cpp index d54fed54b..cb275062c 100644 --- a/src/murmur/MurmurGRPCImpl.cpp +++ b/src/murmur/MurmurGRPCImpl.cpp @@ -283,7 +283,12 @@ void ToRPC(const ::Server *srv, const ::User *u, ::MurmurRPC::User *ru) { ru->set_udp_ping_msecs(su->dUDPPingAvg); ru->set_tcp_ping_msecs(su->dTCPPingAvg); +#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) + ru->set_tcp_only(su->aiUdpFlag.loadRelaxed() == 0); +#else + // Qt 5.14 introduced QAtomicInteger::loadRelaxed() which deprecates QAtomicInteger::load() ru->set_tcp_only(su->aiUdpFlag.load() == 0); +#endif ru->set_address(su->haAddress.toStdString()); } diff --git a/src/murmur/MurmurGRPCImpl.h b/src/murmur/MurmurGRPCImpl.h index 6f5e3ee80..14b62c088 100644 --- a/src/murmur/MurmurGRPCImpl.h +++ b/src/murmur/MurmurGRPCImpl.h @@ -39,7 +39,7 @@ namespace MurmurRPC { } } -class MurmurRPCAuthenticator : public ::grpc_impl::AuthMetadataProcessor { +class MurmurRPCAuthenticator : public ::grpc::AuthMetadataProcessor { public: MurmurRPCAuthenticator(); grpc::Status Process(const InputMetadata&, ::grpc::AuthContext*, OutputMetadata*, OutputMetadata*); |