Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlateralusX <lateralusx.github@gmail.com>2017-03-22 13:52:42 +0300
committerlateralusX <lateralusx.github@gmail.com>2017-03-22 13:52:42 +0300
commit15277e6bd6510e63323941ad927c704092f50511 (patch)
treecf84e1b8e0a2b34356a80219ef1683f903b7abcc /msvc/libmono-static.vcxproj
parent1006d04ff640f9af73d7cdd1aa12d5fe6ae333ac (diff)
Windows msbuild triggers too much to rebuild.
When building mono solution from Visual Studio it correctly handles incremental builds just rebuilding what's needed. When doing the same from msbuild it rebuilds to much. This happens due to two different issues. First, a change in winconfig.h setting up a define for corlib version was not included in our compare config file script, so diff was detected as a change in config file causing a replace of config.h triggering a complete rebuild. Second, once above was fixed there was still a rebuild of mini-amd64.c when not needed. This was due to a difference in how post build events are handled in Visual Studio and msbuild. Visual Studio will detect that the complete project won't need to be rebuild and then it doesn't trigger any of the events. msbuild on the other hand will trigger events even if nothing needs to be rebuild and that triggered creation of cpu-amd64.h that in turn will trigger rebuild of mini-amd64.c. Switching from post build event to a custom build step with proper input/output files will work as expected in both Visual Studio and msbuild. Commit also disables the build of test projects that are part of solution but won't provide any build output. These projects are mainly there to make launching of test configurations easier and doesn't need to be included in solution build.
Diffstat (limited to 'msvc/libmono-static.vcxproj')
-rw-r--r--msvc/libmono-static.vcxproj20
1 files changed, 6 insertions, 14 deletions
diff --git a/msvc/libmono-static.vcxproj b/msvc/libmono-static.vcxproj
index 18885f23049..a93798e286d 100644
--- a/msvc/libmono-static.vcxproj
+++ b/msvc/libmono-static.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
@@ -225,9 +225,7 @@
<Link>
<SubSystem>Windows</SubSystem>
</Link>
- <PostBuildEvent>
- <Command>.\libmono.bat "$(MONO_INCLUDE_DIR)" "$(SolutionDir)include\mono" -q</Command>
- </PostBuildEvent>
+ <PostBuildEvent />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PreBuildEvent>
@@ -251,9 +249,7 @@
<Link>
<SubSystem>Windows</SubSystem>
</Link>
- <PostBuildEvent>
- <Command>.\libmono.bat "$(MONO_INCLUDE_DIR)" "$(SolutionDir)include\mono" -q</Command>
- </PostBuildEvent>
+ <PostBuildEvent />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PreBuildEvent>
@@ -276,9 +272,7 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
- <PostBuildEvent>
- <Command>.\libmono.bat "$(MONO_INCLUDE_DIR)" "$(SolutionDir)include\mono" -q</Command>
- </PostBuildEvent>
+ <PostBuildEvent />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent>
@@ -301,9 +295,7 @@
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
- <PostBuildEvent>
- <Command>.\libmono.bat "$(MONO_INCLUDE_DIR)" "$(SolutionDir)include\mono" -q</Command>
- </PostBuildEvent>
+ <PostBuildEvent />
</ItemDefinitionGroup>
<ItemGroup>
<CustomBuildStep Include="..\mono\mini\mini-x86.h">
@@ -341,4 +333,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project> \ No newline at end of file