diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2014-02-21 11:36:02 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2014-02-21 12:04:25 +0100 |
commit | bab99ac39ad9de7f1c244006ccfd49852941ac26 (patch) | |
tree | ebc89a823692e632cf775d1b01edb4ff307e851a /src/app/qbs-setup-qt | |
parent | ee7eb1f45529a16a4337c33fac82b205406ca1a0 (diff) |
Allow the user to specify a custom place for settings.
Task-number: QBS-509
Change-Id: I4ad32c648121068880d652e3ba39d4eea59dfbc3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/app/qbs-setup-qt')
-rw-r--r-- | src/app/qbs-setup-qt/commandlineparser.cpp | 12 | ||||
-rw-r--r-- | src/app/qbs-setup-qt/commandlineparser.h | 5 | ||||
-rw-r--r-- | src/app/qbs-setup-qt/main.cpp | 2 |
3 files changed, 12 insertions, 7 deletions
diff --git a/src/app/qbs-setup-qt/commandlineparser.cpp b/src/app/qbs-setup-qt/commandlineparser.cpp index d5811d1c4..a040b5ca4 100644 --- a/src/app/qbs-setup-qt/commandlineparser.cpp +++ b/src/app/qbs-setup-qt/commandlineparser.cpp @@ -38,6 +38,7 @@ using qbs::Internal::Tr; static QString helpOptionShort() { return QLatin1String("-h"); } static QString helpOptionLong() { return QLatin1String("--help"); } static QString detectOption() { return QLatin1String("--detect"); } +static QString settingsDirOption() { return QLatin1String("--settings-dir"); } void CommandLineParser::parse(const QStringList &commandLine) { @@ -48,6 +49,7 @@ void CommandLineParser::parse(const QStringList &commandLine) m_autoDetectionMode = false; m_qmakePath.clear(); m_profileName.clear(); + m_settingsDir.clear(); if (m_commandLine.isEmpty()) throwError(Tr::tr("No command-line arguments provided.")); @@ -61,6 +63,8 @@ void CommandLineParser::parse(const QStringList &commandLine) m_helpRequested = true; else if (arg == detectOption()) m_autoDetectionMode = true; + else if (arg == settingsDirOption()) + assignOptionArgument(settingsDirOption(), m_settingsDir); } if (m_helpRequested || m_autoDetectionMode) { @@ -93,10 +97,10 @@ QString CommandLineParser::usageString() const { QString s = Tr::tr("This tool creates qbs profiles from Qt versions.\n"); s += Tr::tr("Usage:\n"); - s += Tr::tr(" %1 %3\n") - .arg(m_command, detectOption()); - s += Tr::tr(" %1 <compiler path> <profile name>\n") - .arg(m_command); + s += Tr::tr(" %1 [%2 <settings directory>] %3\n") + .arg(m_command, settingsDirOption(), detectOption()); + s += Tr::tr(" %1 [%3 <settings directory>] <compiler path> <profile name>\n") + .arg(m_command, settingsDirOption()); s += Tr::tr(" %1 %2|%3\n").arg(m_command, helpOptionShort(), helpOptionLong()); s += Tr::tr("The first form tries to auto-detect all known Qt versions, looking them up " "via the PATH environment variable.\n"); diff --git a/src/app/qbs-setup-qt/commandlineparser.h b/src/app/qbs-setup-qt/commandlineparser.h index 21310f432..2b64fe854 100644 --- a/src/app/qbs-setup-qt/commandlineparser.h +++ b/src/app/qbs-setup-qt/commandlineparser.h @@ -26,8 +26,8 @@ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** ****************************************************************************/ -#ifndef QBS_SETUPQT_COMMANDLINEPARSER_H -#define QBS_SETUPQT_COMMANDLINEPARSER_H +#ifndef QBS_SETUPTOOLCHAINS_COMMANDLINEPARSER_H +#define QBS_SETUPTOOLCHAINS_COMMANDLINEPARSER_H #include <QStringList> @@ -41,6 +41,7 @@ public: QString qmakePath() const { return m_qmakePath; } QString profileName() const { return m_profileName; } + QString settingsDir() const { return m_settingsDir; } QString usageString() const; diff --git a/src/app/qbs-setup-qt/main.cpp b/src/app/qbs-setup-qt/main.cpp index bbd80461c..065f142c9 100644 --- a/src/app/qbs-setup-qt/main.cpp +++ b/src/app/qbs-setup-qt/main.cpp @@ -56,7 +56,7 @@ int main(int argc, char *argv[]) return EXIT_SUCCESS; } - SettingsPtr settings = qbsSettings(); + SettingsPtr settings = qbsSettings(clParser.settingsDir()); if (clParser.autoDetectionMode()) { // search all Qt's in path and dump their settings |