diff options
author | Einar Johan Trøan Sømåen | 2015-04-04 18:17:10 +0200 |
---|---|---|
committer | Einar Johan Trøan Sømåen | 2015-04-09 20:02:15 +0200 |
commit | 9ef6e598058179e5124a75963d25e7e0936c29c4 (patch) | |
tree | 43ee5831448802ff4879d754d85c6bae54067976 /devtools/create_project/create_project.cpp | |
parent | d6625c20bfa27a3745b78956adbe47d20c3ff0ad (diff) | |
download | scummvm-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.cpp | 20 |
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); |