From 92f289b66c19526046cddd4a4e7f6b8710401c1a Mon Sep 17 00:00:00 2001 From: Christian Gagneraud Date: Sat, 16 May 2020 16:56:56 +1200 Subject: 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 --- src/app/qbs-setup-android/commandlineparser.cpp | 7 +++++-- src/app/qbs-setup-android/commandlineparser.h | 4 ++++ src/app/qbs-setup-android/main.cpp | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) (limited to 'src') 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 ] [%3 ] [%4 ] [%5 ] " + s += Tr::tr(" %1 [%2 ] [%6] [%3 ] [%4 ] [%5 ] " "\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 + #include 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) { -- cgit v1.2.3