forked from qt-creator/qt-creator
CMakePM: Fix "Build type" for multi configuration generators
The multi configuration generators (Visual Studio, Xcode) had an empty "Build type" which caused failures to parse the CMake file-api information. Change-Id: I70ee4978cee4d43e980edf4cd512d1ca95275638 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -903,6 +903,7 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id)
|
||||
const Kit *k = target->kit();
|
||||
|
||||
QStringList initialArgs = defaultInitialCMakeArguments(k, info.typeName);
|
||||
setIsMultiConfig(CMakeGeneratorKitAspect::isMultiConfigGenerator(k));
|
||||
|
||||
// Android magic:
|
||||
if (DeviceTypeKitAspect::deviceTypeId(k) == Android::Constants::ANDROID_DEVICE_TYPE) {
|
||||
@@ -1347,7 +1348,7 @@ QString CMakeBuildConfiguration::cmakeBuildType() const
|
||||
config = CMakeConfigItem::itemsFromArguments(initialCMakeArguments());
|
||||
}
|
||||
|
||||
if (!config.isEmpty()) {
|
||||
if (!config.isEmpty() && !isMultiConfig()) {
|
||||
cmakeBuildType = QString::fromUtf8(CMakeConfigItem::valueOf("CMAKE_BUILD_TYPE", config));
|
||||
const_cast<CMakeBuildConfiguration*>(this)
|
||||
->setCMakeBuildType(cmakeBuildType);
|
||||
@@ -1368,7 +1369,12 @@ void CMakeBuildConfiguration::setCMakeBuildType(const QString &cmakeBuildType, b
|
||||
|
||||
bool CMakeBuildConfiguration::isMultiConfig() const
|
||||
{
|
||||
return m_buildSystem->isMultiConfig();
|
||||
return m_isMultiConfig;
|
||||
}
|
||||
|
||||
void CMakeBuildConfiguration::setIsMultiConfig(bool isMultiConfig)
|
||||
{
|
||||
m_isMultiConfig = isMultiConfig;
|
||||
}
|
||||
|
||||
namespace Internal {
|
||||
|
||||
Reference in New Issue
Block a user