diff options
Diffstat (limited to 'tools/create_project/msvc.cpp')
| -rw-r--r-- | tools/create_project/msvc.cpp | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/tools/create_project/msvc.cpp b/tools/create_project/msvc.cpp deleted file mode 100644 index 9745cffdd2..0000000000 --- a/tools/create_project/msvc.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - * - */ - -#include "msvc.h" - -#include <fstream> - -#include <algorithm> - -namespace CreateProjectTool { - -////////////////////////////////////////////////////////////////////////// -// MSVC Provider (Base class) -////////////////////////////////////////////////////////////////////////// -MSVCProvider::MSVCProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, const int version) - : ProjectProvider(global_warnings, project_warnings, version) { -} - -void MSVCProvider::createWorkspace(const BuildSetup &setup) { - UUIDMap::const_iterator svmUUID = _uuidMap.find("scummvm"); - if (svmUUID == _uuidMap.end()) - error("No UUID for \"scummvm\" project created"); - - const std::string svmProjectUUID = svmUUID->second; - assert(!svmProjectUUID.empty()); - - std::string solutionUUID = createUUID(); - - std::ofstream solution((setup.outputDir + '/' + "scummvm.sln").c_str()); - if (!solution) - error("Could not open \"" + setup.outputDir + '/' + "scummvm.sln\" for writing"); - - solution << "Microsoft Visual Studio Solution File, Format Version " << _version + 1 << ".00\n"; - solution << "# Visual Studio " << getVisualStudioVersion() << "\n"; - - solution << "Project(\"{" << solutionUUID << "}\") = \"scummvm\", \"scummvm" << getProjectExtension() << "\", \"{" << svmProjectUUID << "}\"\n"; - - // Project dependencies are moved to vcxproj files in Visual Studio 2010 - if (_version < 10) - writeReferences(solution); - - solution << "EndProject\n"; - - // Note we assume that the UUID map only includes UUIDs for enabled engines! - for (UUIDMap::const_iterator i = _uuidMap.begin(); i != _uuidMap.end(); ++i) { - if (i->first == "scummvm") - continue; - - solution << "Project(\"{" << solutionUUID << "}\") = \"" << i->first << "\", \"" << i->first << getProjectExtension() << "\", \"{" << i->second << "}\"\n" - << "EndProject\n"; - } - - solution << "Global\n" - "\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n" - "\t\tDebug|Win32 = Debug|Win32\n" - "\t\tAnalysis|Win32 = Analysis|Win32\n" - "\t\tRelease|Win32 = Release|Win32\n" - "\t\tDebug|x64 = Debug|x64\n" - "\t\tAnalysis|x64 = Analysis|x64\n" - "\t\tRelease|x64 = Release|x64\n" - "\tEndGlobalSection\n" - "\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n"; - - for (UUIDMap::const_iterator i = _uuidMap.begin(); i != _uuidMap.end(); ++i) { - solution << "\t\t{" << i->second << "}.Debug|Win32.ActiveCfg = Debug|Win32\n" - "\t\t{" << i->second << "}.Debug|Win32.Build.0 = Debug|Win32\n" - "\t\t{" << i->second << "}.Analysis|Win32.ActiveCfg = Analysis|Win32\n" - "\t\t{" << i->second << "}.Analysis|Win32.Build.0 = Analysis|Win32\n" - "\t\t{" << i->second << "}.Release|Win32.ActiveCfg = Release|Win32\n" - "\t\t{" << i->second << "}.Release|Win32.Build.0 = Release|Win32\n" - "\t\t{" << i->second << "}.Debug|x64.ActiveCfg = Debug|x64\n" - "\t\t{" << i->second << "}.Debug|x64.Build.0 = Debug|x64\n" - "\t\t{" << i->second << "}.Analysis|x64.ActiveCfg = Analysis|x64\n" - "\t\t{" << i->second << "}.Analysis|x64.Build.0 = Analysis|x64\n" - "\t\t{" << i->second << "}.Release|x64.ActiveCfg = Release|x64\n" - "\t\t{" << i->second << "}.Release|x64.Build.0 = Release|x64\n"; - } - - solution << "\tEndGlobalSection\n" - "\tGlobalSection(SolutionProperties) = preSolution\n" - "\t\tHideSolutionNode = FALSE\n" - "\tEndGlobalSection\n" - "EndGlobal\n"; -} - -void MSVCProvider::createOtherBuildFiles(const BuildSetup &setup) { - // Create the global property file - createGlobalProp(setup); - - // Create the configuration property files (for Debug and Release with 32 and 64bits versions) - // Note: we use the debug properties for the analysis configuration - createBuildProp(setup, true, false, false); - createBuildProp(setup, true, true, false); - createBuildProp(setup, false, false, false); - createBuildProp(setup, false, false, true); - createBuildProp(setup, false, true, false); - createBuildProp(setup, false, true, true); -} - -void MSVCProvider::createGlobalProp(const BuildSetup &setup) { - std::ofstream properties((setup.outputDir + '/' + "ScummVM_Global" + getPropertiesExtension()).c_str()); - if (!properties) - error("Could not open \"" + setup.outputDir + '/' + "ScummVM_Global" + getPropertiesExtension() + "\" for writing"); - - outputGlobalPropFile(properties, 32, setup.defines, convertPathToWin(setup.filePrefix)); - properties.close(); - - properties.open((setup.outputDir + '/' + "ScummVM_Global64" + getPropertiesExtension()).c_str()); - if (!properties) - error("Could not open \"" + setup.outputDir + '/' + "ScummVM_Global64" + getPropertiesExtension() + "\" for writing"); - - // HACK: We must disable the "nasm" feature for x64. To achieve that we must duplicate the feature list and - // recreate a define list. - FeatureList x64Features = setup.features; - setFeatureBuildState("nasm", x64Features, false); - StringList x64Defines = getFeatureDefines(x64Features); - StringList x64EngineDefines = getEngineDefines(setup.engines); - x64Defines.splice(x64Defines.end(), x64EngineDefines); - - // HACK: This definitly should not be here, but otherwise we would not define SDL_BACKEND for x64. - x64Defines.push_back("WIN32"); - x64Defines.push_back("SDL_BACKEND"); - - outputGlobalPropFile(properties, 64, x64Defines, convertPathToWin(setup.filePrefix)); -} - -std::string MSVCProvider::getPreBuildEvent() const { - std::string cmdLine = ""; - - cmdLine = "@echo off\n" - "echo Executing Pre-Build script...\n" - "echo.\n" - "@call "$(SolutionDir)../../tools/create_project/scripts/prebuild.cmd" "$(SolutionDir)/../.."\n" - "EXIT /B0"; - - return cmdLine; -} - -std::string MSVCProvider::getPostBuildEvent(bool isWin32) const { - std::string cmdLine = ""; - - cmdLine = "@echo off\n" - "echo Executing Post-Build script...\n" - "echo.\n" - "@call "$(SolutionDir)../../tools/create_project/scripts/postbuild.cmd" "$(SolutionDir)/../.." "$(OutDir)" "; - - cmdLine += (isWin32) ? "x86" : "x64"; - - cmdLine += "\n" - "EXIT /B0"; - - return cmdLine; -} - -} // End of CreateProjectTool namespace |
