Improve Visual Studio toolchain detection for Windows builds#766
Open
johnml1135 wants to merge 2 commits intomainfrom
Open
Improve Visual Studio toolchain detection for Windows builds#766johnml1135 wants to merge 2 commits intomainfrom
johnml1135 wants to merge 2 commits intomainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR improves Windows build-toolchain reliability by preferring the correct MSVC host tool bin directory, making nmake.exe discovery more robust, and updating dependency verification to match current expectations.
Changes:
- Prefer Visual Studio MSVC
Hostx64\x64tool bin directories when resolving build tools. - Improve dependency verification UX (compact vs detailed) and add an opt-in structured results mode.
- Update WiX dependency detection logic to be more structured (XML-based) and remove legacy NuGet CLI checks.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| Build/Src/FwBuildTasks/Make.cs | Adds MSVC tool-bin discovery under VCINSTALLDIR\Tools\MSVC\*\bin\... and prefers Hostx64/x64 for tool resolution. |
| Build/Agent/Verify-FwDependencies.ps1 | Adds -Detailed / -PassThru, adjusts summary output, and updates WiX detection; removes NuGet CLI check. |
| Build/Agent/FwBuildEnvironment.psm1 | Ensures the preferred MSVC HostX64\x64 bin path is moved to the front of PATH during VS env initialization. |
98915ea to
42e67f1
Compare
Contributor
|
I think that this change should be redone to use the microsoft provide vswhere package. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR splits out the Windows build-toolchain reliability work from the local liblcm source-mode changes.
Included in this PR:
nmake.exediscovery in the customMakeMSBuild taskNot included:
liblcmsource-mode wiringDistFiles/Parts/StandardParts.xmlStandardParts.xmlwas reviewed during the split and left out intentionally. It is not part of the toolchain work, and the added part IDs are not referenced elsewhere on the branch, so it does not belong in this standalone PR.This PR does not change how FieldWorks resolves liblcm.
Validation:
Build/Agent/FwBuildEnvironment.psm1,Build/Agent/Verify-FwDependencies.ps1, andBuild/Src/FwBuildTasks/Make.csThis change is