diff options
author | Jarek Kobus <jaroslaw.kobus@qt.io> | 2021-01-25 14:40:18 +0100 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2021-01-28 16:34:10 +0000 |
commit | af61c47c107e0fe9086dc691a55f05e8733e0c80 (patch) | |
tree | f52de0e14f5d836af8d87e674c3086d228307e97 /src/plugins/conan | |
parent | f0cb3e3365f0e83229802d49465b851a3975c9f3 (diff) |
Conan: Add "Build missing" option to conan install step
By default this option is set to true.
Task-number: QTCREATORBUG-25275
Change-Id: Ia7d628026e4ff7d20cf4b22db89d9b5b6ff5a9ca
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Diffstat (limited to 'src/plugins/conan')
-rw-r--r-- | src/plugins/conan/conaninstallstep.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/conan/conaninstallstep.cpp b/src/plugins/conan/conaninstallstep.cpp index 66a095aaa22..9f3e22575b9 100644 --- a/src/plugins/conan/conaninstallstep.cpp +++ b/src/plugins/conan/conaninstallstep.cpp @@ -78,13 +78,21 @@ ConanInstallStep::ConanInstallStep(BuildStepList *bsl, Id id) additionalArguments->setLabelText(tr("Additional arguments:")); additionalArguments->setDisplayStyle(StringAspect::LineEditDisplay); - setCommandLineProvider([this, conanFile, additionalArguments] { + auto buildMissing = addAspect<BoolAspect>(); + buildMissing->setSettingsKey("ConanPackageManager.InstallStep.BuildMissing"); + buildMissing->setLabel("Build missing:", BoolAspect::LabelPlacement::InExtraLabel); + buildMissing->setDefaultValue(true); + + setCommandLineProvider([=] { BuildConfiguration::BuildType bt = buildConfiguration()->buildType(); const QString buildType = bt == BuildConfiguration::Release ? QString("Release") : QString("Debug"); CommandLine cmd(ConanPlugin::conanSettings()->conanFilePath()); - cmd.addArgs({"install", "-s", "build_type=" + buildType, conanFile->value()}); + cmd.addArgs({"install", "-s", "build_type=" + buildType}); + if (buildMissing->value()) + cmd.addArg("--build=missing"); + cmd.addArg(conanFile->value()); cmd.addArgs(additionalArguments->value(), CommandLine::Raw); return cmd; }); |