From: Sandro Knauß Date: Tue, 17 Aug 2021 03:49:41 +0000 (+0100) Subject: Make KPimGAPI dependency optional X-Git-Tag: archive/raspbian/21.08.1-1+rpi1^2^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9fe80282bfb016e603c821ae74fcb9c2e1821099;p=kmailtransport.git Make KPimGAPI dependency optional Origin: Debian Last-Update: 2018-10-08 Last-Update: 2018-10-08 Gbp-Pq: Name make_libgapi_optional.patch --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 404dace..c1ddb8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,7 +45,7 @@ find_package(KF5Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED) find_package(KF5Akonadi ${AKONADI_LIB_VERSION} CONFIG REQUIRED) find_package(KF5AkonadiMime ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED) find_package(KPimSMTP ${KSMTP_LIB_VERSION} CONFIG REQUIRED) -find_package(KPimGAPI ${KGAPI_LIB_VERSION} CONFIG REQUIRED) +find_package(KPimGAPI ${KGAPI_LIB_VERSION} CONFIG) #it will replace kwallet support find_package(Qt5Keychain CONFIG) @@ -58,6 +58,10 @@ option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." ON) add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050f00) add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055400) +if(KPimGAPI_FOUND) + add_definitions(-DWITH_GAPI) +endif(KPimGAPI_FOUND) + set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) if(BUILD_TESTING) diff --git a/src/kmailtransport/plugins/smtp/CMakeLists.txt b/src/kmailtransport/plugins/smtp/CMakeLists.txt index a5105d9..6fe5c1d 100644 --- a/src/kmailtransport/plugins/smtp/CMakeLists.txt +++ b/src/kmailtransport/plugins/smtp/CMakeLists.txt @@ -26,5 +26,10 @@ target_link_libraries(mailtransport_smtpplugin KF5::ConfigWidgets KF5::KIOWidgets KPim::SMTP + ) + +if(KPimGAPI_FOUND) +target_link_libraries(mailtransport_smtpplugin KPim::GAPICore ) +endif(KPimGAPI_FOUND) diff --git a/src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt b/src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt index 6e5f2b5..9a418ad 100644 --- a/src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt +++ b/src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt @@ -13,6 +13,11 @@ ecm_add_test(smtpjobtest.cpp KF5::ConfigWidgets KF5::KIOWidgets KPim::SMTP - KPim::GAPICore TEST_NAME smtpjobtest ) + +if(KPimGAPI_FOUND) +target_link_libraries(smtpjobtest + KPim::GAPICore + ) +endif(KPimGAPI_FOUND) diff --git a/src/kmailtransport/plugins/smtp/smtpjob.cpp b/src/kmailtransport/plugins/smtp/smtpjob.cpp index 7ad0124..9795d33 100644 --- a/src/kmailtransport/plugins/smtp/smtpjob.cpp +++ b/src/kmailtransport/plugins/smtp/smtpjob.cpp @@ -25,9 +25,11 @@ #include #include +#ifdef WITH_GAPI #include #include #include +#endif #define GOOGLE_API_KEY QStringLiteral("554041944266.apps.googleusercontent.com") #define GOOGLE_API_SECRET QStringLiteral("mdT1DjzohxN3npUUzkENT0gO") @@ -175,6 +177,7 @@ void SmtpJob::startPasswordRetrieval(bool forceRefresh) return; } +#ifdef WITH_GAPI if (transport()->authenticationType() == TransportBase::EnumAuthenticationType::XOAUTH2) { auto promise = KGAPI2::AccountManager::instance()->findAccount(GOOGLE_API_KEY, transport()->userName(), {KGAPI2::Account::mailScopeUrl()}); connect(promise, &KGAPI2::AccountPromise::finished, this, [forceRefresh, this](KGAPI2::AccountPromise *promise) { @@ -196,8 +199,12 @@ void SmtpJob::startPasswordRetrieval(bool forceRefresh) } else { startLoginJob(); } +#else + startLoginJob(); +#endif } +#ifdef WITH_GAPI void SmtpJob::onTokenRequestFinished(KGAPI2::AccountPromise *promise) { if (promise->hasError()) { @@ -213,6 +220,7 @@ void SmtpJob::onTokenRequestFinished(KGAPI2::AccountPromise *promise) transport()->setPassword(tokens); startLoginJob(); } +#endif void SmtpJob::startLoginJob() { diff --git a/src/kmailtransport/plugins/smtp/smtpjob.h b/src/kmailtransport/plugins/smtp/smtpjob.h index 29817e6..2aa09ea 100644 --- a/src/kmailtransport/plugins/smtp/smtpjob.h +++ b/src/kmailtransport/plugins/smtp/smtpjob.h @@ -18,10 +18,12 @@ class Job; class Slave; } +#ifdef WITH_GAPI namespace KGAPI2 { class AccountPromise; } +#endif class SmtpJobPrivate; @@ -63,7 +65,9 @@ protected Q_SLOTS: private: void startPasswordRetrieval(bool forceRefresh = false); +#ifdef WITH_GAPI void onTokenRequestFinished(KGAPI2::AccountPromise *result); +#endif void startSmtpJob(); void startLoginJob(); void startSendJob();