diff options
author | Eike Ziller <eike.ziller@qt.io> | 2021-10-26 09:13:24 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2021-10-26 09:13:24 +0200 |
commit | e8ba5b75cfb270b8fd661d5d6e3b68f2a98c5e0d (patch) | |
tree | 905519a8107a9eedf7413c941cc8311f5472bffc /src/plugins/android | |
parent | 712caf10dcadbacda7487a6836f949c7964002f2 (diff) | |
parent | fbcb45c105b7e8aec5eab382c05774448c1e6e13 (diff) |
Merge remote-tracking branch 'origin/5.0' into 6.0
Conflicts:
src/plugins/android/androidpackageinstallationstep.cpp
src/plugins/cppeditor/cppmodelmanager.cpp
Change-Id: I3bad38e1cfe717e98209d49461c9813a8e555eff
Diffstat (limited to 'src/plugins/android')
-rw-r--r-- | src/plugins/android/androidmanager.cpp | 15 | ||||
-rw-r--r-- | src/plugins/android/androidpackageinstallationstep.cpp | 20 |
2 files changed, 16 insertions, 19 deletions
diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index 9b623baa8d6..16ff0dc5139 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -268,7 +268,20 @@ FilePath AndroidManager::buildDirectory(const Target *target) { if (const BuildSystem *bs = target->buildSystem()) { const QString buildKey = target->activeBuildKey(); - const FilePath buildDir = bs->buildTarget(target->activeBuildKey()).workingDirectory; + + // Get the target build dir based on the settings file path + FilePath buildDir; + const ProjectNode *node = target->project()->findNodeForBuildKey(buildKey); + if (node) { + const QString settingsFile = node->data(Constants::AndroidDeploySettingsFile).toString(); + buildDir = FilePath::fromUserInput(settingsFile).parentDir(); + } + + if (!buildDir.isEmpty()) + return buildDir; + + // Otherwise fallback to target working dir + buildDir = bs->buildTarget(target->activeBuildKey()).workingDirectory; if (isQt5CmakeProject(target)) { // Return the main build dir and not the android libs dir const QString libsDir = QString(Constants::ANDROID_BUILD_DIRECTORY) + "/libs"; diff --git a/src/plugins/android/androidpackageinstallationstep.cpp b/src/plugins/android/androidpackageinstallationstep.cpp index e1eb82e0ccc..17e641443ae 100644 --- a/src/plugins/android/androidpackageinstallationstep.cpp +++ b/src/plugins/android/androidpackageinstallationstep.cpp @@ -67,10 +67,6 @@ public: AndroidPackageInstallationStep(BuildStepList *bsl, Id id); QString nativeAndroidBuildPath() const; - - Utils::FilePath androidBuildDirectory() const; - Utils::FilePath buildDirectory() const; - private: bool init() final; void setupOutputFormatter(OutputFormatter *formatter) final; @@ -108,7 +104,7 @@ bool AndroidPackageInstallationStep::init() processParameters()->setCommandLine(cmd); // This is useful when running an example target from a Qt module project. - processParameters()->setWorkingDirectory(buildDirectory()); + processParameters()->setWorkingDirectory(AndroidManager::buildDirectory(target())); m_androidDirsToClean.clear(); // don't remove gradle's cache, it takes ages to rebuild it. @@ -120,7 +116,7 @@ bool AndroidPackageInstallationStep::init() QString AndroidPackageInstallationStep::nativeAndroidBuildPath() const { - QString buildPath = androidBuildDirectory().toString(); + QString buildPath = AndroidManager::androidBuildDirectory(target()).toString(); if (HostOsInfo::isWindowsHost()) if (buildEnvironment().searchInPath("sh.exe").isEmpty()) buildPath = QDir::toNativeSeparators(buildPath); @@ -128,18 +124,6 @@ QString AndroidPackageInstallationStep::nativeAndroidBuildPath() const return buildPath; } -FilePath AndroidPackageInstallationStep::androidBuildDirectory() const -{ - return buildDirectory() / Constants::ANDROID_BUILD_DIRECTORY; -} - -FilePath AndroidPackageInstallationStep::buildDirectory() const -{ - if (const BuildSystem *bs = buildSystem()) - return bs->buildTarget(target()->activeBuildKey()).workingDirectory; - return {}; -} - void AndroidPackageInstallationStep::setupOutputFormatter(OutputFormatter *formatter) { formatter->addLineParser(new GnuMakeParser); |