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()
|
||||
{
|
||||
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
|
||||
ConfigModel::KitConfiguration configHash;
|
||||
|
@@ -660,6 +660,29 @@ QStringList CMakeGeneratorKitAspect::generatorArguments(const Kit *k)
|
||||
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)
|
||||
{
|
||||
const QString generator = CMakeGeneratorKitAspect::generator(k);
|
||||
|
@@ -77,6 +77,7 @@ public:
|
||||
static void set(ProjectExplorer::Kit *k, const QString &generator,
|
||||
const QString &extraGenerator, const QString &platform, const QString &toolset);
|
||||
static QStringList generatorArguments(const ProjectExplorer::Kit *k);
|
||||
static CMakeConfig generatorCMakeConfig(const ProjectExplorer::Kit *k);
|
||||
static bool isMultiConfigGenerator(const ProjectExplorer::Kit *k);
|
||||
|
||||
// KitAspect interface
|
||||
|
Reference in New Issue
Block a user