From 208e988c70fdb18608f429b09b8909c8139e410a Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Tue, 20 Jul 2010 21:10:58 +0000 Subject: [PATCH] Added --with-qtsingleapplication=[shipped|system] flag to the configure file to comply with Linux distributions that are packaging qtsingleapplication solution. --- configure | 71 +++++++++++++++++++++++++++++++++++++++++++------- qbittorrent.qc | 2 ++ src/src.pro | 12 ++++++--- 3 files changed, 73 insertions(+), 12 deletions(-) diff --git a/configure b/configure index 8f8a4010a..581d12329 100755 --- a/configure +++ b/configure @@ -18,15 +18,24 @@ Main options: --help This help text. Dependency options: - --disable-gui Disable qBittorrent Graphical user - interface for headless running - --with-libboost-inc=[path] Path to libboost include files - --with-libboost-lib=[path] Path to libboost library files - --disable-libnotify Disable use of libnotify - --disable-geoip-database Disable use of geoip-database - --with-geoip-database-embedded Geoip Database will be embedded in - qBittorrent executable (please follow - instructions in src/geoip/README) + --disable-gui Disable qBittorrent + Graphical user interface for + headless running + --with-libboost-inc=[path] Path to libboost include + files + --with-libboost-lib=[path] Path to libboost library + files + --disable-libnotify Disable use of libnotify + --disable-geoip-database Disable use of geoip-database + --with-geoip-database-embedded Geoip Database will be + embedded in qBittorrent + executable (please follow + instructions in + src/geoip/README) + --disable-qtsingleapplication Disable use of libboost + --with-qtsingleapplication=[system|shipped] Use the shipped + qtsingleapplication library + or the system one EOT } @@ -173,6 +182,16 @@ while [ $# -gt 0 ]; do shift ;; + --disable-qtsingleapplication) + QC_DISABLE_qtsingleapplication="Y" + shift + ;; + + --with-qtsingleapplication=*) + QC_WITH_QTSINGLEAPPLICATION=$optarg + shift + ;; + --verbose) QC_VERBOSE="Y" shift @@ -200,6 +219,8 @@ echo QC_WITH_LIBBOOST_LIB=$QC_WITH_LIBBOOST_LIB echo QC_DISABLE_libnotify=$QC_DISABLE_libnotify echo QC_DISABLE_geoip_database=$QC_DISABLE_geoip_database echo QC_WITH_GEOIP_DATABASE_EMBEDDED=$QC_WITH_GEOIP_DATABASE_EMBEDDED +echo QC_DISABLE_qtsingleapplication=$QC_DISABLE_qtsingleapplication +echo QC_WITH_QTSINGLEAPPLICATION=$QC_WITH_QTSINGLEAPPLICATION echo fi @@ -585,6 +606,33 @@ public: #endif } }; +#line 1 "qtsingleapplication.qcm" +/* +-----BEGIN QCMOD----- +name: libboost +arg: with-qtsingleapplication=[system|shipped], Use the shipped qtsingleapplication library or the system one +-----END QCMOD----- +*/ +class qc_qtsingleapplication : public ConfObj +{ +public: + qc_qtsingleapplication(Conf *c) : ConfObj(c) {} + QString name() const { return "qtsingleapplication library"; } + QString shortname() const { return "qtsingleapplication"; } + + bool exec(){ + QString s; + s = conf->getenv("QC_WITH_QTSINGLEAPPLICATION"); + if(s.compare("system", Qt::CaseInsensitive) == 0) { + // System + conf->addDefine("USE_SYSTEM_QTSINGLEAPPLICATION"); + printf(" [system] "); + } else { + printf(" [shipped] "); + } + return true; + } +}; EOT cat >$1/modules_new.cpp <$1/modules_new.cpp <required = false; o->disabled = false; + o = new qc_qtsingleapplication(conf); + o->required = false; + o->disabled = false; EOT cat >$1/conf4.h < + + diff --git a/src/src.pro b/src/src.pro index 34f09c0f0..940de76ec 100644 --- a/src/src.pro +++ b/src/src.pro @@ -342,10 +342,16 @@ contains(DEFINES, DISABLE_GUI) { } } -contains(DEFINES, DISABLE_GUI) { - include(qtsingleapp/qtsinglecoreapplication.pri) +contains(DEFINES, USE_SYSTEM_QTSINGLEAPPLICATION) { + message("Using the system's qtsingleapplication library") + CONFIG += qtsingleapplication } else { - include(qtsingleapp/qtsingleapplication.pri) + message("Using the shipped qtsingleapplication library") + contains(DEFINES, DISABLE_GUI) { + include(qtsingleapp/qtsinglecoreapplication.pri) + } else { + include(qtsingleapp/qtsingleapplication.pri) + } } !contains(DEFINES, DISABLE_GUI) {