aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/generators/generatordata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/generators/generatordata.cpp')
-rw-r--r--src/lib/corelib/generators/generatordata.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/lib/corelib/generators/generatordata.cpp b/src/lib/corelib/generators/generatordata.cpp
index eb0cb2d09..e8d554d20 100644
--- a/src/lib/corelib/generators/generatordata.cpp
+++ b/src/lib/corelib/generators/generatordata.cpp
@@ -92,6 +92,29 @@ QString GeneratableProjectData::name() const
return name;
}
+CodeLocation GeneratableProjectData::location() const
+{
+ CodeLocation location;
+ QMapIterator<QString, ProjectData> it(data);
+ while (it.hasNext()) {
+ it.next();
+ CodeLocation oldLocation = location;
+ location = it.value().location();
+ if (oldLocation.isValid() && oldLocation != location)
+ throw ErrorInfo(QLatin1String("Projects with different code locations "
+ "per-configuration are not compatible with this "
+ "generator."));
+ }
+ return location;
+}
+
+GeneratableProjectData::Id GeneratableProjectData::uniqueName() const
+{
+ GeneratableProjectData::Id id;
+ id.value = name() + QLatin1Char('-') + location().toString();
+ return id;
+}
+
QDir GeneratableProject::baseBuildDirectory() const
{
Internal::Set<QString> baseBuildDirectory;