Skip to content

docs(windows): pass build options space-separated, not semicolon-joined - #7903

Merged
pfeerick merged 1 commit into
EdgeTX:mainfrom
pfeerick:docs/windows-build-options
Oct 12, 2026
Merged

pfeerick merged 1 commit into
EdgeTX:mainfrom
pfeerick:docs/windows-build-options

Conversation

@pfeerick

Copy link
Copy Markdown
Member

Fixes #7900

Problem

The Windows build guide told people to join -D options with ; inside one quoted value (set BUILD_OPTIONS="-DPCB=X10;-DPCBREV=TX16S"). cmake received that as a single argument, so the superbuild set PCB to X10;-DPCBREV=TX16S. It only worked because CollectCommandLineArgs forwarded the value unescaped and ExternalProject split it back into separate arguments on ;.

#7740 (fbae719) escapes ; as | with LIST_SEPARATOR |, so multi-path values such as CMAKE_PREFIX_PATH stay one argument. That change is correct. As a side effect, the joined options now reach the native and arm-none-eabi sub-builds as one value, and the build fails with Unknown PCB 'X10 -DPCBREV=T16 ...'.

CI isn't affected, because the Windows runner builds through tools/build-companion.sh, which passes the options space-separated.

Changes (docs/building/windows.md)

  • BUILD_OPTIONS example now separates options with spaces and uses set "VAR=..." quoting, so cmake gets each option as its own argument.
  • BUILD_TYPE gets the same fix. Debug builds weren't getting CMAKE_BUILD_TYPE=Debug for the same reason.
  • The "use semicolon as a delimiter" note is replaced with guidance to match build-common.sh, plus a note on updating older scripts (including multi-option PATHS).
  • Adds asciitree and typing_extensions to the uv pip install list to match pyproject.toml.

🤖 Generated with Claude Code

The Windows build scripts joined -D options with ';' inside one quoted
value. That only worked because CollectCommandLineArgs forwarded the
value unescaped and ExternalProject split it back on ';'. Since
fbae719 the ';' is escaped so multi-path values stay intact, and
the joined options now reach the sub-builds as a single value
(e.g. "Unknown PCB 'X10 -DPCBREV=T16'").

Use space-separated options, as tools/build-common.sh does, for
BUILD_OPTIONS and BUILD_TYPE, and note how to update older scripts.
Also add the missing asciitree and typing_extensions to the Python
package list to match pyproject.toml.

Fixes EdgeTX#7900

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@pfeerick pfeerick added documentation 📝 Improvements or additions to documentation bug/regression ↩️ A new version of EdgeTX broke something labels Oct 12, 2026
@pfeerick pfeerick added this to the 3.0 milestone Oct 12, 2026
@pfeerick
pfeerick merged commit e2cc8cb into EdgeTX:main Oct 12, 2026
3 checks passed
@pfeerick
pfeerick deleted the docs/windows-build-options branch October 24, 2026 06:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug/regression ↩️ A new version of EdgeTX broke something documentation 📝 Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Windows master build fails for Jumper T16

1 participant