forked from qt-creator/qt-creator
CMakePM: Update generator kit value after Kit Configuration dialog
The CMAKE_GENERATOR variable in "Initial Configuration" didn't get the Kit value after a change in the "Kit Configuration" dialog. Change-Id: Ieb9d634e2e9b1a5522b189e16bb66f8cea4c63b1 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -770,7 +770,9 @@ void CMakeBuildSettingsWidget::updateAdvancedCheckBox()
|
|||||||
void CMakeBuildSettingsWidget::updateFromKit()
|
void CMakeBuildSettingsWidget::updateFromKit()
|
||||||
{
|
{
|
||||||
const Kit *k = m_buildConfiguration->kit();
|
const Kit *k = m_buildConfiguration->kit();
|
||||||
const CMakeConfig config = CMakeConfigurationKitAspect::configuration(k);
|
CMakeConfig config = CMakeConfigurationKitAspect::configuration(k);
|
||||||
|
|
||||||
|
config.append(CMakeGeneratorKitAspect::generatorCMakeConfig(k));
|
||||||
|
|
||||||
// First the key value parameters
|
// First the key value parameters
|
||||||
ConfigModel::KitConfiguration configHash;
|
ConfigModel::KitConfiguration configHash;
|
||||||
|
@@ -660,6 +660,29 @@ QStringList CMakeGeneratorKitAspect::generatorArguments(const Kit *k)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CMakeConfig CMakeGeneratorKitAspect::generatorCMakeConfig(const ProjectExplorer::Kit *k)
|
||||||
|
{
|
||||||
|
CMakeConfig config;
|
||||||
|
|
||||||
|
GeneratorInfo info = generatorInfo(k);
|
||||||
|
if (info.generator.isEmpty())
|
||||||
|
return config;
|
||||||
|
|
||||||
|
if (info.extraGenerator.isEmpty())
|
||||||
|
config << CMakeConfigItem("CMAKE_GENERATOR", info.generator.toUtf8());
|
||||||
|
else
|
||||||
|
config << CMakeConfigItem("CMAKE_GENERATOR",
|
||||||
|
(info.extraGenerator + " - " + info.generator).toUtf8());
|
||||||
|
|
||||||
|
if (!info.platform.isEmpty())
|
||||||
|
config << CMakeConfigItem("CMAKE_GENERATOR_PLATFORM", info.platform.toUtf8());
|
||||||
|
|
||||||
|
if (!info.toolset.isEmpty())
|
||||||
|
config << CMakeConfigItem("CMAKE_GENERATOR_TOOLSET", info.toolset.toUtf8());
|
||||||
|
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
|
||||||
bool CMakeGeneratorKitAspect::isMultiConfigGenerator(const Kit *k)
|
bool CMakeGeneratorKitAspect::isMultiConfigGenerator(const Kit *k)
|
||||||
{
|
{
|
||||||
const QString generator = CMakeGeneratorKitAspect::generator(k);
|
const QString generator = CMakeGeneratorKitAspect::generator(k);
|
||||||
|
@@ -77,6 +77,7 @@ public:
|
|||||||
static void set(ProjectExplorer::Kit *k, const QString &generator,
|
static void set(ProjectExplorer::Kit *k, const QString &generator,
|
||||||
const QString &extraGenerator, const QString &platform, const QString &toolset);
|
const QString &extraGenerator, const QString &platform, const QString &toolset);
|
||||||
static QStringList generatorArguments(const ProjectExplorer::Kit *k);
|
static QStringList generatorArguments(const ProjectExplorer::Kit *k);
|
||||||
|
static CMakeConfig generatorCMakeConfig(const ProjectExplorer::Kit *k);
|
||||||
static bool isMultiConfigGenerator(const ProjectExplorer::Kit *k);
|
static bool isMultiConfigGenerator(const ProjectExplorer::Kit *k);
|
||||||
|
|
||||||
// KitAspect interface
|
// KitAspect interface
|
||||||
|
Reference in New Issue
Block a user