New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve multicore build #83

Merged
merged 1 commit into from Jul 2, 2014

Conversation

Projects
None yet
3 participants
@barnson
Member

barnson commented Jun 18, 2014

Only run GenerateWixInclude.exe once.

Improve multicore build
Only run GenerateWixInclude.exe once.
@@ -72,10 +62,17 @@
<ClCompile Include="qtexec.cpp" />
</ItemGroup>
<ItemGroup>
<ItemGroup Condition="'$(Platform)' == 'Win32'">
<ClInclude Include="custommsierrors.h">
<GenerateWixInclude>caerr.wxi</GenerateWixInclude>

This comment has been minimized.

@heaths

heaths Jun 18, 2014

Contributor

Is there any guarantee that Win32 will build first? What about creating a target with input and output attributes to make sure it's generated only once regardless of what platform builds first?

@heaths

heaths Jun 18, 2014

Contributor

Is there any guarantee that Win32 will build first? What about creating a target with input and output attributes to make sure it's generated only once regardless of what platform builds first?

This comment has been minimized.

@barnson

barnson Jun 19, 2014

Member

Both are built before anything that consumes the output file. There's already a GenerateWixInclude target (tools\WixBuild.Tools.targets) and I wouldn't mind taking it out of the build path -- GenerateWixInclude is called 144 times during a full build. Granted, only 106ms...But we only call this once.

@barnson

barnson Jun 19, 2014

Member

Both are built before anything that consumes the output file. There's already a GenerateWixInclude target (tools\WixBuild.Tools.targets) and I wouldn't mind taking it out of the build path -- GenerateWixInclude is called 144 times during a full build. Granted, only 106ms...But we only call this once.

This comment has been minimized.

@robmen

robmen Jul 2, 2014

Member

Not thrilled about 64-bit being dependent on 32-bit build but won't be an issue with things as they are now.

Additionally, seems the GenerateWixInclude Target could move to the WixBuild.vcxproj.targets since it only processes .h files. Could also try adding a Condition to the target based on _GenerateWixIncludeSource but I forget if the DependsOn will be executed if the condition is false. It might not, which would mean the Condition would prevent the execution of the target completely.

All of that would reduce the amount the target ran.

@robmen

robmen Jul 2, 2014

Member

Not thrilled about 64-bit being dependent on 32-bit build but won't be an issue with things as they are now.

Additionally, seems the GenerateWixInclude Target could move to the WixBuild.vcxproj.targets since it only processes .h files. Could also try adding a Condition to the target based on _GenerateWixIncludeSource but I forget if the DependsOn will be executed if the condition is false. It might not, which would mean the Condition would prevent the execution of the target completely.

All of that would reduce the amount the target ran.

robmen added a commit that referenced this pull request Jul 2, 2014

@robmen robmen merged commit 8110a53 into wixtoolset:develop Jul 2, 2014

@barnson barnson deleted the barnson:GenerateWixInclude.Manycore branch May 8, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment