aboutsummaryrefslogtreecommitdiff
path: root/devtools/create_project/create_project.cpp
diff options
context:
space:
mode:
authorEinar Johan Trøan Sømåen2015-04-04 18:17:10 +0200
committerEinar Johan Trøan Sømåen2015-04-09 20:02:15 +0200
commit9ef6e598058179e5124a75963d25e7e0936c29c4 (patch)
tree43ee5831448802ff4879d754d85c6bae54067976 /devtools/create_project/create_project.cpp
parentd6625c20bfa27a3745b78956adbe47d20c3ff0ad (diff)
downloadscummvm-rg350-9ef6e598058179e5124a75963d25e7e0936c29c4.tar.gz
scummvm-rg350-9ef6e598058179e5124a75963d25e7e0936c29c4.tar.bz2
scummvm-rg350-9ef6e598058179e5124a75963d25e7e0936c29c4.zip
CREATE_PROJECT: Make ProjectProvider able to work properly with subclasses that want to create one single project.
Diffstat (limited to 'devtools/create_project/create_project.cpp')
-rw-r--r--devtools/create_project/create_project.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp
index 34d30e1d69..ffaa4274f4 100644
--- a/devtools/create_project/create_project.cpp
+++ b/devtools/create_project/create_project.cpp
@@ -1279,18 +1279,23 @@ void ProjectProvider::createProject(BuildSetup &setup) {
for (UUIDMap::const_iterator i = _uuidMap.begin(); i != _uuidMap.end(); ++i) {
if (i->first == setup.projectName)
continue;
-
- in.clear(); ex.clear();
+ // Retain the files between engines if we're creating a single project
+ if (createOneProjectPerEngine()) {
+ in.clear(); ex.clear();
+ }
const std::string moduleDir = setup.srcDir + targetFolder + i->first;
createModuleList(moduleDir, setup.defines, setup.testDirs, in, ex);
- createProjectFile(i->first, i->second, setup, moduleDir, in, ex);
+ if (createOneProjectPerEngine()) {
+ createProjectFile(i->first, i->second, setup, moduleDir, in, ex);
+ }
}
if (setup.tests) {
// Create the main project file.
- in.clear(); ex.clear();
-
+ if (createOneProjectPerEngine()) {
+ in.clear(); ex.clear();
+ }
createModuleList(setup.srcDir + "/backends", setup.defines, setup.testDirs, in, ex);
createModuleList(setup.srcDir + "/backends/platform/sdl", setup.defines, setup.testDirs, in, ex);
createModuleList(setup.srcDir + "/base", setup.defines, setup.testDirs, in, ex);
@@ -1304,8 +1309,9 @@ void ProjectProvider::createProject(BuildSetup &setup) {
createProjectFile(setup.projectName, svmUUID, setup, setup.srcDir, in, ex);
} else if (!setup.devTools) {
// Last but not least create the main project file.
- in.clear(); ex.clear();
-
+ if (createOneProjectPerEngine()) {
+ in.clear(); ex.clear();
+ }
// File list for the Project file
createModuleList(setup.srcDir + "/backends", setup.defines, setup.testDirs, in, ex);
createModuleList(setup.srcDir + "/backends/platform/sdl", setup.defines, setup.testDirs, in, ex);