diff options
Diffstat (limited to 'devtools')
| -rw-r--r-- | devtools/create_project/create_project.cpp | 7 | ||||
| -rw-r--r-- | devtools/create_project/msbuild.cpp | 7 | ||||
| -rw-r--r-- | devtools/create_project/msvc15/create_project.sln | 28 | ||||
| -rw-r--r-- | devtools/create_project/msvc15/create_project.vcxproj | 227 | ||||
| -rw-r--r-- | devtools/create_project/msvc15/create_project.vcxproj.filters | 82 | 
5 files changed, 346 insertions, 5 deletions
diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp index 2baaf91a71..d0cc7da4b2 100644 --- a/devtools/create_project/create_project.cpp +++ b/devtools/create_project/create_project.cpp @@ -192,7 +192,7 @@ int main(int argc, char *argv[]) {  			msvcVersion = atoi(argv[++i]); -			if (msvcVersion != 9 && msvcVersion != 10 && msvcVersion != 11 && msvcVersion != 12 && msvcVersion != 14) { +			if (msvcVersion != 9 && msvcVersion != 10 && msvcVersion != 11 && msvcVersion != 12 && msvcVersion != 14 && msvcVersion != 15) {  				std::cerr << "ERROR: Unsupported version: \"" << msvcVersion << "\" passed to \"--msvc-version\"!\n";  				return -1;  			} @@ -579,7 +579,7 @@ int main(int argc, char *argv[]) {  		globalWarnings.push_back("6385");  		globalWarnings.push_back("6386"); -		if (msvcVersion == 14) { +		if (msvcVersion == 14 || msvcVersion == 15) {  			globalWarnings.push_back("4267");  			globalWarnings.push_back("4577");  		} @@ -701,7 +701,8 @@ void displayHelp(const char *exe) {  	        "                           11 stands for \"Visual Studio 2012\"\n"  	        "                           12 stands for \"Visual Studio 2013\"\n"  	        "                           14 stands for \"Visual Studio 2015\"\n" -	        "                           The default is \"9\", thus \"Visual Studio 2008\"\n" +	        "                           15 stands for \"Visual Studio 2017\"\n" +	        "                           The default is \"12\", thus \"Visual Studio 2013\"\n"  	        " --build-events           Run custom build events as part of the build\n"  	        "                          (default: false)\n"  	        " --installer              Create NSIS installer after the build (implies --build-events)\n" diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index 3accce4e05..2389bb6cfb 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -58,11 +58,14 @@ int MSBuildProvider::getVisualStudioVersion() {  	if (_version == 14)  		return 14; +	if (_version == 15) +		return 15; +  	error("Unsupported version passed to getVisualStudioVersion");  }  int MSBuildProvider::getSolutionVersion() { -	return (_version < 14) ? _version + 1 : _version; +	return (_version == 15) ? 14 : _version + 1;  }  namespace { @@ -123,7 +126,7 @@ void MSBuildProvider::createProjectFile(const std::string &name, const std::stri  	// Shared configuration  	project << "\t<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n"; -	std::string version = "v" + toString(_version) + "0"; +	std::string version = _version == 15 ? "v141" : "v" + toString(_version) + "0";  	std::string llvm = "LLVM-vs" + toString(getVisualStudioVersion());  	outputConfigurationType(setup, project, name, "Release|Win32", version); diff --git a/devtools/create_project/msvc15/create_project.sln b/devtools/create_project/msvc15/create_project.sln new file mode 100644 index 0000000000..73f0b3569e --- /dev/null +++ b/devtools/create_project/msvc15/create_project.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.22609.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "create_project", "create_project.vcxproj", "{CF177559-077D-4A08-AABE-BE0FD35F6C63}" +EndProject +Global +	GlobalSection(SolutionConfigurationPlatforms) = preSolution +		Debug|Win32 = Debug|Win32 +		Debug|x64 = Debug|x64 +		Release|Win32 = Release|Win32 +		Release|x64 = Release|x64 +	EndGlobalSection +	GlobalSection(ProjectConfigurationPlatforms) = postSolution +		{CF177559-077D-4A08-AABE-BE0FD35F6C63}.Debug|Win32.ActiveCfg = Debug|Win32 +		{CF177559-077D-4A08-AABE-BE0FD35F6C63}.Debug|Win32.Build.0 = Debug|Win32 +		{CF177559-077D-4A08-AABE-BE0FD35F6C63}.Debug|x64.ActiveCfg = Debug|x64 +		{CF177559-077D-4A08-AABE-BE0FD35F6C63}.Debug|x64.Build.0 = Debug|x64 +		{CF177559-077D-4A08-AABE-BE0FD35F6C63}.Release|Win32.ActiveCfg = Release|Win32 +		{CF177559-077D-4A08-AABE-BE0FD35F6C63}.Release|Win32.Build.0 = Release|Win32 +		{CF177559-077D-4A08-AABE-BE0FD35F6C63}.Release|x64.ActiveCfg = Release|x64 +		{CF177559-077D-4A08-AABE-BE0FD35F6C63}.Release|x64.Build.0 = Release|x64 +	EndGlobalSection +	GlobalSection(SolutionProperties) = preSolution +		HideSolutionNode = FALSE +	EndGlobalSection +EndGlobal diff --git a/devtools/create_project/msvc15/create_project.vcxproj b/devtools/create_project/msvc15/create_project.vcxproj new file mode 100644 index 0000000000..1a2f31fe66 --- /dev/null +++ b/devtools/create_project/msvc15/create_project.vcxproj @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +  <ItemGroup Label="ProjectConfigurations"> +    <ProjectConfiguration Include="Debug|Win32"> +      <Configuration>Debug</Configuration> +      <Platform>Win32</Platform> +    </ProjectConfiguration> +    <ProjectConfiguration Include="Debug|x64"> +      <Configuration>Debug</Configuration> +      <Platform>x64</Platform> +    </ProjectConfiguration> +    <ProjectConfiguration Include="Release|Win32"> +      <Configuration>Release</Configuration> +      <Platform>Win32</Platform> +    </ProjectConfiguration> +    <ProjectConfiguration Include="Release|x64"> +      <Configuration>Release</Configuration> +      <Platform>x64</Platform> +    </ProjectConfiguration> +  </ItemGroup> +  <PropertyGroup Label="Globals"> +    <ProjectGuid>{CF177559-077D-4A08-AABE-BE0FD35F6C63}</ProjectGuid> +    <RootNamespace>create_project</RootNamespace> +  </PropertyGroup> +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> +    <ConfigurationType>Application</ConfigurationType> +    <CharacterSet>MultiByte</CharacterSet> +    <WholeProgramOptimization>true</WholeProgramOptimization> +    <PlatformToolset>v141</PlatformToolset> +  </PropertyGroup> +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> +    <ConfigurationType>Application</ConfigurationType> +    <CharacterSet>MultiByte</CharacterSet> +    <WholeProgramOptimization>true</WholeProgramOptimization> +    <PlatformToolset>v141</PlatformToolset> +  </PropertyGroup> +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> +    <ConfigurationType>Application</ConfigurationType> +    <CharacterSet>MultiByte</CharacterSet> +    <PlatformToolset>v141</PlatformToolset> +  </PropertyGroup> +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> +    <ConfigurationType>Application</ConfigurationType> +    <CharacterSet>MultiByte</CharacterSet> +    <PlatformToolset>v141</PlatformToolset> +  </PropertyGroup> +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> +  <ImportGroup Label="ExtensionSettings"> +  </ImportGroup> +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> +  </ImportGroup> +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> +  </ImportGroup> +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> +  </ImportGroup> +  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> +    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> +  </ImportGroup> +  <PropertyGroup Label="UserMacros" /> +  <PropertyGroup> +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir> +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir> +    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir> +    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir> +  </PropertyGroup> +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> +    <ClCompile> +      <Optimization>Disabled</Optimization> +      <MinimalRebuild>true</MinimalRebuild> +      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> +      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> +      <WarningLevel>Level4</WarningLevel> +      <DebugInformationFormat>EditAndContinue</DebugInformationFormat> +      <DisableLanguageExtensions>false</DisableLanguageExtensions> +      <DisableSpecificWarnings>4003;4512;4127;4100</DisableSpecificWarnings> +      <ExceptionHandling>Sync</ExceptionHandling> +    </ClCompile> +    <Link> +      <AdditionalDependencies>Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies> +      <GenerateDebugInformation>true</GenerateDebugInformation> +      <TargetMachine>MachineX86</TargetMachine> +      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> +    </Link> +    <PostBuildEvent> +      <Command>@echo off +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc15\"         +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc14\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc12\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc11\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc10\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc9\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc8\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\codeblocks\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\iphone\"</Command> +    </PostBuildEvent> +  </ItemDefinitionGroup> +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> +    <ClCompile> +      <Optimization>Disabled</Optimization> +      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> +      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> +      <WarningLevel>Level4</WarningLevel> +      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> +      <DisableLanguageExtensions>false</DisableLanguageExtensions> +      <DisableSpecificWarnings>4003;4512;4127</DisableSpecificWarnings> +    </ClCompile> +    <Link> +      <AdditionalDependencies>Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies> +      <GenerateDebugInformation>true</GenerateDebugInformation> +      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> +    </Link> +    <PostBuildEvent> +      <Command>@echo off +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc15\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc14\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc12\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc11\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc10\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc9\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\codeblocks\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\iphone\"</Command> +    </PostBuildEvent> +  </ItemDefinitionGroup> +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> +    <ClCompile> +      <Optimization>MaxSpeed</Optimization> +      <IntrinsicFunctions>true</IntrinsicFunctions> +      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> +      <FunctionLevelLinking>true</FunctionLevelLinking> +      <WarningLevel>Level3</WarningLevel> +      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> +      <DisableSpecificWarnings>4003;4512;4127</DisableSpecificWarnings> +      <SDLCheck>true</SDLCheck> +    </ClCompile> +    <Link> +      <AdditionalDependencies>Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies> +      <GenerateDebugInformation>true</GenerateDebugInformation> +      <OptimizeReferences>true</OptimizeReferences> +      <EnableCOMDATFolding>true</EnableCOMDATFolding> +      <TargetMachine>MachineX86</TargetMachine> +    </Link> +    <PostBuildEvent> +      <Command>@echo off +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc15\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc14\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc12\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc11\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc10\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc9\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\codeblocks\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\iphone\"</Command> +    </PostBuildEvent> +    <PreBuildEvent> +      <Command> +      </Command> +    </PreBuildEvent> +  </ItemDefinitionGroup> +  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> +    <ClCompile> +      <Optimization>MaxSpeed</Optimization> +      <IntrinsicFunctions>true</IntrinsicFunctions> +      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> +      <FunctionLevelLinking>true</FunctionLevelLinking> +      <WarningLevel>Level3</WarningLevel> +      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> +      <DisableSpecificWarnings>4003;4512;4127</DisableSpecificWarnings> +      <SDLCheck>true</SDLCheck> +    </ClCompile> +    <Link> +      <AdditionalDependencies>Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies> +      <GenerateDebugInformation>true</GenerateDebugInformation> +      <OptimizeReferences>true</OptimizeReferences> +      <EnableCOMDATFolding>true</EnableCOMDATFolding> +    </Link> +    <PostBuildEvent> +      <Command>@echo off +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc15\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc14\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc12\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc11\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc10\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc9\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\msvc8\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\codeblocks\" +xcopy /Y "$(TargetPath)" "$(SolutionDir)\..\..\..\dists\iphone\"</Command> +    </PostBuildEvent> +    <PreBuildEvent> +      <Command> +      </Command> +    </PreBuildEvent> +  </ItemDefinitionGroup> +  <ItemGroup> +    <ClCompile Include="..\cmake.cpp" /> +    <ClCompile Include="..\codeblocks.cpp" /> +    <ClCompile Include="..\create_project.cpp" /> +    <ClCompile Include="..\msbuild.cpp" /> +    <ClCompile Include="..\msvc.cpp" /> +    <ClCompile Include="..\visualstudio.cpp" /> +    <ClCompile Include="..\xcode.cpp" /> +  </ItemGroup> +  <ItemGroup> +    <ClInclude Include="..\cmake.h" /> +    <ClInclude Include="..\codeblocks.h" /> +    <ClInclude Include="..\config.h" /> +    <ClInclude Include="..\create_project.h" /> +    <ClInclude Include="..\msbuild.h" /> +    <ClInclude Include="..\msvc.h" /> +    <ClInclude Include="..\visualstudio.h" /> +    <ClInclude Include="..\xcode.h" /> +  </ItemGroup> +  <ItemGroup> +    <None Include="..\scripts\installer.vbs" /> +    <None Include="..\scripts\postbuild.cmd" /> +    <None Include="..\scripts\prebuild.cmd" /> +    <None Include="..\scripts\revision.vbs" /> +  </ItemGroup> +  <ItemGroup> +    <Natvis Include="..\scripts\scummvm.natvis" /> +  </ItemGroup> +  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +  <ImportGroup Label="ExtensionTargets"> +  </ImportGroup> +</Project>
\ No newline at end of file diff --git a/devtools/create_project/msvc15/create_project.vcxproj.filters b/devtools/create_project/msvc15/create_project.vcxproj.filters new file mode 100644 index 0000000000..b6da1e9df6 --- /dev/null +++ b/devtools/create_project/msvc15/create_project.vcxproj.filters @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +  <ItemGroup> +    <Filter Include="Header Files"> +      <UniqueIdentifier>{2e3580c8-ec3a-4c81-8351-b668c668db2a}</UniqueIdentifier> +    </Filter> +    <Filter Include="Source Files"> +      <UniqueIdentifier>{31aaf58c-d3cb-4ed6-8eca-163b4a9b31a6}</UniqueIdentifier> +    </Filter> +    <Filter Include="scripts"> +      <UniqueIdentifier>{f980f6fb-41b6-4161-b035-58b200c85cad}</UniqueIdentifier> +    </Filter> +  </ItemGroup> +  <ItemGroup> +    <ClInclude Include="..\codeblocks.h"> +      <Filter>Header Files</Filter> +    </ClInclude> +    <ClInclude Include="..\create_project.h"> +      <Filter>Header Files</Filter> +    </ClInclude> +    <ClInclude Include="..\msvc.h"> +      <Filter>Header Files</Filter> +    </ClInclude> +    <ClInclude Include="..\msbuild.h"> +      <Filter>Header Files</Filter> +    </ClInclude> +    <ClInclude Include="..\visualstudio.h"> +      <Filter>Header Files</Filter> +    </ClInclude> +    <ClInclude Include="..\xcode.h"> +      <Filter>Header Files</Filter> +    </ClInclude> +    <ClInclude Include="..\config.h"> +      <Filter>Header Files</Filter> +    </ClInclude> +    <ClInclude Include="..\cmake.h"> +      <Filter>Header Files</Filter> +    </ClInclude> +  </ItemGroup> +  <ItemGroup> +    <ClCompile Include="..\codeblocks.cpp"> +      <Filter>Source Files</Filter> +    </ClCompile> +    <ClCompile Include="..\create_project.cpp"> +      <Filter>Source Files</Filter> +    </ClCompile> +    <ClCompile Include="..\msvc.cpp"> +      <Filter>Source Files</Filter> +    </ClCompile> +    <ClCompile Include="..\msbuild.cpp"> +      <Filter>Source Files</Filter> +    </ClCompile> +    <ClCompile Include="..\visualstudio.cpp"> +      <Filter>Source Files</Filter> +    </ClCompile> +    <ClCompile Include="..\xcode.cpp"> +      <Filter>Source Files</Filter> +    </ClCompile> +    <ClCompile Include="..\cmake.cpp"> +      <Filter>Source Files</Filter> +    </ClCompile> +  </ItemGroup> +  <ItemGroup> +    <None Include="..\scripts\prebuild.cmd"> +      <Filter>scripts</Filter> +    </None> +    <None Include="..\scripts\revision.vbs"> +      <Filter>scripts</Filter> +    </None> +    <None Include="..\scripts\postbuild.cmd"> +      <Filter>scripts</Filter> +    </None> +    <None Include="..\scripts\installer.vbs"> +      <Filter>scripts</Filter> +    </None> +  </ItemGroup> +  <ItemGroup> +    <Natvis Include="..\scripts\scummvm.natvis"> +      <Filter>scripts</Filter> +    </Natvis> +  </ItemGroup> +</Project>
\ No newline at end of file  | 
