aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Gagneraud <chgans@gmail.com>2020-05-16 16:56:56 +1200
committerChristian Gagneraud <chgans@gmail.com>2020-05-20 11:46:07 +0000
commit92f289b66c19526046cddd4a4e7f6b8710401c1a (patch)
treedeb42d6c8b124811731b25335964f1dde3e9645e /src
parentdf7de9f0c333364d08bec0fddd273256a60a3dd1 (diff)
Add --system to qbs-setup-android
This allow to have android settings install system wide, similar to qbs-setup-qt and qbs-setup-toolchains. Change-Id: Idc01e0ebe6e3f6f17b2e48e84f6fe2b0e95f0c63 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/app/qbs-setup-android/commandlineparser.cpp7
-rw-r--r--src/app/qbs-setup-android/commandlineparser.h4
-rw-r--r--src/app/qbs-setup-android/main.cpp1
3 files changed, 10 insertions, 2 deletions
diff --git a/src/app/qbs-setup-android/commandlineparser.cpp b/src/app/qbs-setup-android/commandlineparser.cpp
index 8beeeb601..c4ff09947 100644
--- a/src/app/qbs-setup-android/commandlineparser.cpp
+++ b/src/app/qbs-setup-android/commandlineparser.cpp
@@ -53,6 +53,7 @@ static QString settingsDirOption() { return QStringLiteral("--settings-dir"); }
static QString sdkDirOption() { return QStringLiteral("--sdk-dir"); }
static QString ndkDirOption() { return QStringLiteral("--ndk-dir"); }
static QString qtSdkDirOption() { return QStringLiteral("--qt-dir"); }
+static QString systemOption() { return QStringLiteral("--system"); }
void CommandLineParser::parse(const QStringList &commandLine)
{
@@ -77,6 +78,8 @@ void CommandLineParser::parse(const QStringList &commandLine)
m_helpRequested = true;
else if (arg == settingsDirOption())
assignOptionArgument(settingsDirOption(), m_settingsDir);
+ else if (arg == systemOption())
+ m_settingsScope = qbs::Settings::SystemScope;
else if (arg == sdkDirOption())
assignOptionArgument(sdkDirOption(), m_sdkDir);
else if (arg == ndkDirOption())
@@ -116,9 +119,9 @@ QString CommandLineParser::usageString() const
{
QString s = Tr::tr("This tool creates qbs profiles from Android SDK and NDK installations.\n");
s += Tr::tr("Usage:\n");
- s += Tr::tr(" %1 [%2 <settings dir>] [%3 <NDK dir>] [%4 <SDK dir>] [%5 <Qt dir>] "
+ s += Tr::tr(" %1 [%2 <settings dir>] [%6] [%3 <NDK dir>] [%4 <SDK dir>] [%5 <Qt dir>] "
"<profile name>\n")
- .arg(m_command, settingsDirOption(), ndkDirOption(), sdkDirOption(), qtSdkDirOption());
+ .arg(m_command, settingsDirOption(), ndkDirOption(), sdkDirOption(), qtSdkDirOption(), systemOption());
s += Tr::tr(" %1 %2|%3\n").arg(m_command, helpOptionShort(), helpOptionLong());
s += Tr::tr("If an NDK path is given, the profile will be suitable for use with Android "
"projects that contain native C/C++ code.\n");
diff --git a/src/app/qbs-setup-android/commandlineparser.h b/src/app/qbs-setup-android/commandlineparser.h
index 3ce3eeb40..47f424634 100644
--- a/src/app/qbs-setup-android/commandlineparser.h
+++ b/src/app/qbs-setup-android/commandlineparser.h
@@ -39,6 +39,8 @@
#ifndef QBS_SETUP_ANDROID_COMMANDLINEPARSER_H
#define QBS_SETUP_ANDROID_COMMANDLINEPARSER_H
+#include <tools/settings.h>
+
#include <QtCore/qstringlist.h>
class CommandLineParser
@@ -55,6 +57,7 @@ public:
QString qtSdkDir() const { return m_qtSdkDir; }
QString profileName() const { return m_profileName; }
QString settingsDir() const { return m_settingsDir; }
+ qbs::Settings::Scope settingsScope() const { return m_settingsScope; }
QString usageString() const;
@@ -64,6 +67,7 @@ private:
[[noreturn]] void complainAboutExtraArguments();
bool m_helpRequested = false;
+ qbs::Settings::Scope m_settingsScope = qbs::Settings::UserScope;
QString m_sdkDir;
QString m_ndkDir;
QString m_qtSdkDir;
diff --git a/src/app/qbs-setup-android/main.cpp b/src/app/qbs-setup-android/main.cpp
index 8822751f4..18e5dbe41 100644
--- a/src/app/qbs-setup-android/main.cpp
+++ b/src/app/qbs-setup-android/main.cpp
@@ -60,6 +60,7 @@ int main(int argc, char *argv[])
return EXIT_SUCCESS;
}
qbs::Settings settings(clParser.settingsDir());
+ settings.setScopeForWriting(clParser.settingsScope());
setupAndroid(&settings, clParser.profileName(), clParser.sdkDir(), clParser.ndkDir(),
clParser.qtSdkDir());
} catch (const qbs::ErrorInfo &e) {