From 6869d3d8b0297d46fa5025580c0dd2ebd6d4846c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sandro=20Knau=C3=9F?= Date: Tue, 26 May 2020 23:00:08 +0100 Subject: [PATCH] Make KPimGAPI dependency optional Origin: Debian Last-Update: 2018-10-08 Last-Update: 2018-10-08 Gbp-Pq: Name make_libgapi_optional.patch --- CMakeLists.txt | 7 ++++++- src/kmailtransport/plugins/smtp/CMakeLists.txt | 5 +++++ src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt | 7 ++++++- src/kmailtransport/plugins/smtp/smtpjob.cpp | 9 ++++++++- src/kmailtransport/plugins/smtp/smtpjob.h | 4 ++++ 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 05988bf..2e29afc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,7 +43,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) option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." TRUE) if (EXISTS "${CMAKE_SOURCE_DIR}/.git") @@ -52,6 +52,11 @@ if (EXISTS "${CMAKE_SOURCE_DIR}/.git") endif() add_definitions(-DQT_NO_FOREACH) + +if(KPimGAPI_FOUND) + add_definitions(-DWITH_GAPI) +endif(KPimGAPI_FOUND) + set(CMAKE_CXX_STANDARD 14) if(BUILD_TESTING) add_definitions(-DBUILD_TESTING) diff --git a/src/kmailtransport/plugins/smtp/CMakeLists.txt b/src/kmailtransport/plugins/smtp/CMakeLists.txt index 8aa5a8d..6742a32 100644 --- a/src/kmailtransport/plugins/smtp/CMakeLists.txt +++ b/src/kmailtransport/plugins/smtp/CMakeLists.txt @@ -27,5 +27,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 a92ecf4..3c3cd34 100644 --- a/src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt +++ b/src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt @@ -15,6 +15,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 5f3c7fa..8fc081f 100644 --- a/src/kmailtransport/plugins/smtp/smtpjob.cpp +++ b/src/kmailtransport/plugins/smtp/smtpjob.cpp @@ -38,9 +38,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") @@ -196,6 +198,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() }); @@ -220,8 +223,12 @@ void SmtpJob::startPasswordRetrieval(bool forceRefresh) } else { startLoginJob(); } +#else + startLoginJob(); +#endif } +#ifdef WITH_GAPI void SmtpJob::onTokenRequestFinished(KGAPI2::AccountPromise *promise) { if (promise->hasError()) { @@ -238,7 +245,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 72458a8..574a935 100644 --- a/src/kmailtransport/plugins/smtp/smtpjob.h +++ b/src/kmailtransport/plugins/smtp/smtpjob.h @@ -31,9 +31,11 @@ class Job; class Slave; } +#ifdef WITH_GAPI namespace KGAPI2 { class AccountPromise; } +#endif class SmtpJobPrivate; @@ -74,7 +76,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(); -- 2.30.2