diff options
author | lateralusX <lateralusx.github@gmail.com> | 2017-03-22 13:52:42 +0300 |
---|---|---|
committer | lateralusX <lateralusx.github@gmail.com> | 2017-03-22 13:52:42 +0300 |
commit | 15277e6bd6510e63323941ad927c704092f50511 (patch) | |
tree | cf84e1b8e0a2b34356a80219ef1683f903b7abcc /msvc/libmono-static.vcxproj | |
parent | 1006d04ff640f9af73d7cdd1aa12d5fe6ae333ac (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.vcxproj | 20 |
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 |