diff --git a/src/plugins/cmakeprojectmanager/fileapiparser.cpp b/src/plugins/cmakeprojectmanager/fileapiparser.cpp index 1e2ccfb0114..909636c2dfc 100644 --- a/src/plugins/cmakeprojectmanager/fileapiparser.cpp +++ b/src/plugins/cmakeprojectmanager/fileapiparser.cpp @@ -896,7 +896,21 @@ FileApiData FileApiParser::parseData(const QFileInfo &replyFileInfo, const QStri return QString::compare(cfg.name, cmakeBuildType, Qt::CaseInsensitive) == 0; }); if (it == codeModels.cend()) { - errorMessage = QString("No '%1' CMake configuration found!").arg(cmakeBuildType); + QStringList buildTypes; + for (const Configuration &cfg: codeModels) + buildTypes << cfg.name; + + if (result.replyFile.isMultiConfig) { + errorMessage = tr("No \"%1\" CMake configuration found. Available configurations: \"%2\".\n" + "Make sure that CMAKE_CONFIGURATION_TYPES variable contains the \"Build type\" field.") + .arg(cmakeBuildType) + .arg(buildTypes.join(", ")); + } else { + errorMessage = tr("No \"%1\" CMake configuration found. Available configuration: \"%2\".\n" + "Make sure that CMAKE_BUILD_TYPE variable matches the \"Build type\" field.") + .arg(cmakeBuildType) + .arg(buildTypes.join(", ")); + } qWarning() << errorMessage; return result; } diff --git a/src/plugins/cmakeprojectmanager/fileapiparser.h b/src/plugins/cmakeprojectmanager/fileapiparser.h index b790251db66..6650d5e75ae 100644 --- a/src/plugins/cmakeprojectmanager/fileapiparser.h +++ b/src/plugins/cmakeprojectmanager/fileapiparser.h @@ -245,6 +245,7 @@ public: class FileApiParser { + Q_DECLARE_TR_FUNCTIONS(FileApiParser) public: static FileApiData parseData(const QFileInfo &replyFileInfo, const QString& cmakeBuildType, QString &errorMessage);