Add Windows build script, harden get_genie.ps1, update README and .gitignore - #4
burning-calamity wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: be7ac4da3e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| set "MSBUILD=" | ||
| set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" | ||
| for /f "delims=" %%I in ('where MSBuild.exe 2^>nul') do if not defined MSBUILD set "MSBUILD=%%I" |
There was a problem hiding this comment.
Select the VS 2022 MSBuild before PATH matches
When the script is run from an older Visual Studio developer prompt, where can select that prompt's MSBuild and prevent the vswhere fallback from running, even if VS 2022 is installed. In the checked projects/clumsy.vcxproj, every configuration requires the v143 toolset, so an older MSBuild can fail with an unavailable-toolset error despite a compatible installation being present; prefer vswhere or validate the PATH candidate before accepting it.
Useful? React with 👍 / 👎.
Motivation
Description
build.batto locate MSBuild, perform configurable Release/Debug x64/x32 builds, copy runtime dependencies, write logs under.build, and present user-friendly error output.tools/get_genie.ps1with parameters-SourceUrl,-ExpectedSha256,-DownloadMethod,-TimeoutSec,-KeepBackup, and-PassThru, plus HTTPS validation, BITS/Invoke-WebRequest selection, temporary-file download, PE header validation, SHA-256 checksum verification, and atomic replacement of the installedgenie.exe.README.mdwith aBuilding on Windowssection that documents usage ofbuild.batand its environment switches likeBUILD_NO_PAUSEand example invocations..gitignoreto ignore the.buildlog directory and keep existing project/build ignores.Testing
Codex Task