forked from qt-creator/qt-creator
Conan: Move closer to now-default settings construction
Change-Id: I04078070de9831c1de94d400a7723f4efe0e0a8d Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -91,7 +91,7 @@ ConanInstallStep::ConanInstallStep(BuildStepList *bsl, Id id)
|
||||
const QString buildType = bt == BuildConfiguration::Release ? QString("Release")
|
||||
: QString("Debug");
|
||||
|
||||
CommandLine cmd(ConanPlugin::conanSettings()->conanFilePath());
|
||||
CommandLine cmd(ConanPlugin::conanSettings()->conanFilePath.filePath());
|
||||
cmd.addArgs({"install", "-s", "build_type=" + buildType});
|
||||
if (buildMissing->value())
|
||||
cmd.addArg("--build=missing");
|
||||
|
||||
@@ -65,7 +65,7 @@ bool ConanPlugin::initialize(const QStringList &arguments, QString *errorString)
|
||||
Q_UNUSED(errorString)
|
||||
|
||||
m_runData = new ConanPluginRunData;
|
||||
conanSettings()->fromSettings(ICore::settings());
|
||||
conanSettings()->readSettings(ICore::settings());
|
||||
|
||||
connect(SessionManager::instance(), &SessionManager::projectAdded,
|
||||
this, &ConanPlugin::projectAdded);
|
||||
|
||||
@@ -24,30 +24,25 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "conansettings.h"
|
||||
|
||||
#include <utils/hostosinfo.h>
|
||||
|
||||
using namespace Utils;
|
||||
|
||||
namespace ConanPackageManager {
|
||||
namespace Internal {
|
||||
|
||||
namespace {
|
||||
static const char SETTINGS_KEY[] = "ConanSettings";
|
||||
static const char CONAN_FILE_PATH[] = "ConanFilePath";
|
||||
}
|
||||
|
||||
void ConanSettings::fromSettings(QSettings *settings)
|
||||
ConanSettings::ConanSettings()
|
||||
{
|
||||
const QString rootKey = QString(SETTINGS_KEY) + '/';
|
||||
setSettingsGroup("ConanSettings");
|
||||
setAutoApply(false);
|
||||
|
||||
const QString defaultExe = Utils::HostOsInfo::withExecutableSuffix(QString("conan"));
|
||||
m_conanFilePath = Utils::FilePath::fromUserInput(
|
||||
settings->value(rootKey + CONAN_FILE_PATH, defaultExe).toString());
|
||||
registerAspect(&conanFilePath);
|
||||
conanFilePath.setSettingsKey("ConanFilePath");
|
||||
conanFilePath.setDisplayStyle(StringAspect::PathChooserDisplay);
|
||||
conanFilePath.setExpectedKind(PathChooser::ExistingCommand);
|
||||
conanFilePath.setDefaultValue(HostOsInfo::withExecutableSuffix("conan"));
|
||||
}
|
||||
|
||||
void ConanSettings::toSettings(QSettings *settings) const
|
||||
{
|
||||
settings->beginGroup(QString(SETTINGS_KEY));
|
||||
settings->endGroup();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} // Internal
|
||||
} // ConanPackageManager
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <utils/aspects.h>
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
#include <QSettings>
|
||||
@@ -32,18 +33,13 @@
|
||||
namespace ConanPackageManager {
|
||||
namespace Internal {
|
||||
|
||||
class ConanSettings
|
||||
class ConanSettings : public Utils::AspectContainer
|
||||
{
|
||||
public:
|
||||
ConanSettings() = default;
|
||||
void fromSettings(QSettings *settings);
|
||||
void toSettings(QSettings *settings) const;
|
||||
ConanSettings();
|
||||
|
||||
Utils::FilePath conanFilePath() const { return m_conanFilePath; }
|
||||
|
||||
private:
|
||||
Utils::FilePath m_conanFilePath;
|
||||
Utils::StringAspect conanFilePath;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
} // Internal
|
||||
} // ConanPackageManager
|
||||
|
||||
Reference in New Issue
Block a user