From d2f3bc39b46073ce3c4b76093919a45b340f9233 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 9 Mar 2016 18:33:27 +0100 Subject: DEVTOOLS: Fix path separator in MSBuild's global props output. --- devtools/create_project/msbuild.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'devtools/create_project/msbuild.cpp') diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index a326bd721a..7a43130b56 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -374,7 +374,7 @@ void MSBuildProvider::outputGlobalPropFile(const BuildSetup &setup, std::ofstrea "\t\t$(" << LIBS_DEFINE << ")\\lib\\" << (bits == 32 ? "x86" : "x64") << ";$(LibraryPath)\n" "\t\t$(" << LIBS_DEFINE << ")\\include;$(" << LIBS_DEFINE << ")\\include\\SDL;$(IncludePath)\n" "\t\t$(Configuration)" << bits << "\\\n" - "\t\t$(Configuration)" << bits << "/$(ProjectName)\\\n" + "\t\t$(Configuration)" << bits << "\\$(ProjectName)\\\n" "\t\n" "\t\n" "\t\t\n" -- cgit v1.2.3 From d3dba1b08671d4fcd71c1d927a9a8c371b7f3119 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 9 Mar 2016 18:34:54 +0100 Subject: DEVTOOLS: Do not specify SCUMMVM_LIBS include dir twice for MSBuild. --- devtools/create_project/msbuild.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'devtools/create_project/msbuild.cpp') diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index 7a43130b56..46f09935dd 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -380,7 +380,7 @@ void MSBuildProvider::outputGlobalPropFile(const BuildSetup &setup, std::ofstrea "\t\t\n" "\t\t\ttrue\n" "\t\t\t" << warnings << ";%(DisableSpecificWarnings)\n" - "\t\t\t$(" << LIBS_DEFINE << ")\\include;.;" << prefix << ";" << prefix << "\\engines;" << (setup.tests ? prefix + "\\test\\cxxtest;" : "") << "$(TargetDir);%(AdditionalIncludeDirectories)\n" + "\t\t\t.;" << prefix << ";" << prefix << "\\engines;" << (setup.tests ? prefix + "\\test\\cxxtest;" : "") << "$(TargetDir);%(AdditionalIncludeDirectories)\n" "\t\t\t" << definesList << "%(PreprocessorDefinitions)\n" "\t\t\t" << ((setup.devTools || setup.tests) ? "Sync" : "") << "\n"; -- cgit v1.2.3 From 24558307c25d46b1b28e1e61e516c741701a17f0 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 9 Mar 2016 18:35:59 +0100 Subject: DEVTOOLS: Do not hardcode runtime libraries for MSVC2015. --- devtools/create_project/msbuild.cpp | 6 ------ 1 file changed, 6 deletions(-) (limited to 'devtools/create_project/msbuild.cpp') diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index 46f09935dd..96680220c0 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -319,12 +319,6 @@ void MSBuildProvider::outputProjectSettings(std::ofstream &project, const std::s for (StringList::const_iterator i = setup.libraries.begin(); i != setup.libraries.end(); ++i) libraries += *i + ".lib;"; - if (_version == 14) { - std::string debug = isRelease ? "" : "d"; - libraries += "libvcruntime" + debug + ".lib;"; - libraries += "libucrt" + debug + ".lib;"; - } - project << "\t\t\n" "\t\t\t$(OutDir)" << ((setup.devTools || setup.tests) ? name : setup.projectName) << ".exe\n" "\t\t\t" << libraries << "%(AdditionalDependencies)\n" -- cgit v1.2.3 From 1c2dc2f89d181edfdffa001c7055df73d0ff8e77 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 9 Mar 2016 18:36:53 +0100 Subject: DEVTOOLS: Do not ignore libcmt.lib for MSBuild output. This hints at broken library builds and thus should not be set for us. --- devtools/create_project/msbuild.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'devtools/create_project/msbuild.cpp') diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index 96680220c0..8a33b6bf3b 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -457,8 +457,7 @@ void MSBuildProvider::createBuildProp(const BuildSetup &setup, bool isRelease, b properties << "\t\t\n" "\t\t\n" "\t\t\ttrue\n" - "\t\t\tfalse\n" - "\t\t\tlibcmt.lib;%(IgnoreSpecificDefaultLibraries)\n"; + "\t\t\tfalse\n"; } properties << "\t\t\n" -- cgit v1.2.3 From 46ef80963f36b46aa7fd494b56c266f5d27cd48d Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 9 Mar 2016 18:43:52 +0100 Subject: DEVTOOLS: Enable Edit&Continue on x64 for MSVC2015+. --- devtools/create_project/msbuild.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'devtools/create_project/msbuild.cpp') diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index 8a33b6bf3b..191135fd88 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -444,9 +444,15 @@ void MSBuildProvider::createBuildProp(const BuildSetup &setup, bool isRelease, b "\t\t\tEnableFastChecks\n" "\t\t\tMultiThreadedDebug\n" "\t\t\ttrue\n" - "\t\t\tfalse\n" - "\t\t\t" << (isWin32 ? "EditAndContinue" : "ProgramDatabase") << "\n" // For x64 format Edit and continue is not supported, thus we default to Program Database - "\t\t\t" << (configuration == "Analysis" ? "true" : "false") << "\n"; + "\t\t\tfalse\n"; + if (_version >= 14) { + // Since MSVC 2015 Edit and Continue is support for x64 too. + properties << "\t\t\t" << "EditAndContinue" << "\n"; + } else { + // Older MSVC versions did not support Edit and Continue for x64, thus we do not use it. + properties << "\t\t\t" << (isWin32 ? "EditAndContinue" : "ProgramDatabase") << "\n"; + } + properties << "\t\t\t" << (configuration == "Analysis" ? "true" : "false") << "\n"; if (configuration == "LLVM") { // FIXME The LLVM cl wrapper does not seem to work properly with the $(TargetDir) path so we hard-code the build folder until the issue is resolved -- cgit v1.2.3 From 7127fadc96821148ca0c64bb8f47e597e3daecec Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 9 Mar 2016 19:03:04 +0100 Subject: DEVTOOLS: Use DLL runtime for MSBuild output. --- devtools/create_project/msbuild.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'devtools/create_project/msbuild.cpp') diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index 191135fd88..5714e2e0d7 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -431,7 +431,7 @@ void MSBuildProvider::createBuildProp(const BuildSetup &setup, bool isRelease, b "\t\t\ttrue\n" "\t\t\tfalse\n" "\t\t\t\n" - "\t\t\tMultiThreaded\n" + "\t\t\tMultiThreadedDLL\n" "\t\t\t" << (configuration == "Analysis" ? "true" : "false") << "\n" "\t\t\n" "\t\t\n" @@ -442,7 +442,7 @@ void MSBuildProvider::createBuildProp(const BuildSetup &setup, bool isRelease, b "\t\t\tWIN32;" << (configuration == "LLVM" ? "_CRT_SECURE_NO_WARNINGS;" : "") << "%(PreprocessorDefinitions)\n" "\t\t\ttrue\n" "\t\t\tEnableFastChecks\n" - "\t\t\tMultiThreadedDebug\n" + "\t\t\tMultiThreadedDebugDLL\n" "\t\t\ttrue\n" "\t\t\tfalse\n"; if (_version >= 14) { -- cgit v1.2.3 From 66a74cf3f3767604ccdbf4c18c87cbe22cf4f6be Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 9 Mar 2016 19:30:49 +0100 Subject: DEVTOOLS: Check configuration and architecture specific directories for MSBuild. --- devtools/create_project/msbuild.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'devtools/create_project/msbuild.cpp') diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index 5714e2e0d7..0f9819c308 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -364,8 +364,8 @@ void MSBuildProvider::outputGlobalPropFile(const BuildSetup &setup, std::ofstrea "= 12 ? _version : 4) << ".0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n" "\t\n" "\t\t<_PropertySheetDisplayName>" << setup.projectDescription << "_Global\n" - "\t\t$(" << LIBS_DEFINE << ")\\bin;$(ExecutablePath)\n" - "\t\t$(" << LIBS_DEFINE << ")\\lib\\" << (bits == 32 ? "x86" : "x64") << ";$(LibraryPath)\n" + "\t\t$(" << LIBS_DEFINE << ")\\bin;$(" << LIBS_DEFINE << ")\\bin\\" << (bits == 32 ? "x86" : "x64") << ";$(ExecutablePath)\n" + "\t\t$(" << LIBS_DEFINE << ")\\lib\\" << (bits == 32 ? "x86" : "x64") << ";$(" << LIBS_DEFINE << ")\\lib\\" << (bits == 32 ? "x86" : "x64") << "\\$(Configuration);$(LibraryPath)\n" "\t\t$(" << LIBS_DEFINE << ")\\include;$(" << LIBS_DEFINE << ")\\include\\SDL;$(IncludePath)\n" "\t\t$(Configuration)" << bits << "\\\n" "\t\t$(Configuration)" << bits << "\\$(ProjectName)\\\n" -- cgit v1.2.3 From edfc84b67ad625b288192c4bc65bce0fe3c12169 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sun, 13 Mar 2016 20:33:50 +0100 Subject: DEVTOOLS: Use LTCG for Release configurations in MSBuild project files. Silences linker output that LTCG is used anyway because whole program optimization is enabled for these configurations. --- devtools/create_project/msbuild.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'devtools/create_project/msbuild.cpp') diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index 0f9819c308..a804205c42 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -434,7 +434,11 @@ void MSBuildProvider::createBuildProp(const BuildSetup &setup, bool isRelease, b "\t\t\tMultiThreadedDLL\n" "\t\t\t" << (configuration == "Analysis" ? "true" : "false") << "\n" "\t\t\n" + "\t\t\n" + "\t\t\ttrue\n" + "\t\t\n" "\t\t\n" + "\t\t\tUseLinkTimeCodeGeneration\n" "\t\t\t%(IgnoreSpecificDefaultLibraries)\n" "\t\t\ttrue\n"; } else { -- cgit v1.2.3