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