CMake: Allow to run staging installation in CMakeInstallStep

User configurable, on by default (only) for cases where build and run
device are different.

The staging dir is by default a randomly named directory on the build
device, but can be changed by the user if needed.

Overall, this does not change anything for a pure local setup (but
would let the user opt-in into staging, too)

Change-Id: Ic1c5fd1f1261e067692710c9e3aa9d821897478d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
hjk
2023-04-05 14:16:00 +02:00
parent 388e516200
commit 4753b658bb
3 changed files with 111 additions and 5 deletions

View File

@@ -85,6 +85,10 @@ private:
void doRun() override;
QWidget *createConfigWidget() override;
Utils::FilePath cmakeExecutable() const;
QString currentInstallPrefix() const;
QString currentStagingDir() const;
QString defaultBuildTarget() const;
bool isCleanStep() const;
@@ -94,6 +98,7 @@ private:
void handleBuildTargetsChanges(bool success);
void recreateBuildTargetsModel();
void updateBuildTargetsModel();
void updateDeploymentData();
QMetaObject::Connection m_runTrigger;
@@ -102,6 +107,8 @@ private:
Utils::StringAspect *m_cmakeArguments = nullptr;
Utils::StringAspect *m_toolArguments = nullptr;
Utils::BoolAspect *m_useiOSAutomaticProvisioningUpdates = nullptr;
Utils::BoolAspect *m_useStaging = nullptr;
Utils::StringAspect *m_stagingDir = nullptr;
QString m_allTarget = "all";
QString m_installTarget = "install";