CREATE_PROJECT: Refactor Visual Studio version differences

Moved most generation differences to a MSVCVersion class, makes it
easier to support new versions without tracking down if-checks everywhere.
This commit is contained in:
SupSuper 2019-04-15 18:59:00 +01:00 committed by Matan Bareket
parent 71e4bb108a
commit 5c0529abc2
8 changed files with 108 additions and 95 deletions

View file

@ -32,8 +32,8 @@ namespace CreateProjectTool {
// Visual Studio Provider (Visual Studio 2008)
//////////////////////////////////////////////////////////////////////////
VisualStudioProvider::VisualStudioProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, const int version)
: MSVCProvider(global_warnings, project_warnings, version) {
VisualStudioProvider::VisualStudioProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, const int version, const MSVCVersion& msvc)
: MSVCProvider(global_warnings, project_warnings, version, msvc) {
}
const char *VisualStudioProvider::getProjectExtension() {
@ -44,13 +44,6 @@ const char *VisualStudioProvider::getPropertiesExtension() {
return ".vsprops";
}
int VisualStudioProvider::getVisualStudioVersion() {
if (_version == 9)
return 2008;
error("Unsupported version passed to getVisualStudioVersion");
}
void VisualStudioProvider::createProjectFile(const std::string &name, const std::string &uuid, const BuildSetup &setup, const std::string &moduleDir,
const StringList &includeList, const StringList &excludeList) {
const std::string projectFile = setup.outputDir + '/' + name + getProjectExtension();