You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,6 +49,7 @@ If you landed here from a release link and have not read the tree:
49
49
### Fixed
50
50
-**A reconfigure no longer skips the ids its own build dir published.** When ninja re-ran CMake inside a nested project (a `CONFIGURE_DEPENDS` glob mismatch, or a `links/*.cmake` rewritten by the parent), `buildmaster_component` treated the leftover `links/<id>.cmake` of every dependency that same project had configured as "already built by" another process. Their `<id>_build` / `<id>_install` stages vanished from the nested graph and a `BACKEND=host` library compiled before its dependencies were installed (missing headers). A top-level `cmake <builddir>` hit the same skip. Each build dir now records the ids it published in `bm-owned-links.txt`, and a reconfigure configures those again. Fixture `host-nested-reconfigure` drives configure → build → build → forced nested reconfigure → top-level reconfigure.
51
51
-**A parent no longer rewrites the links file its nested project wrote for the same id.** When a `cmake` component's nested BuildMaster project declares that same id (for example with `BACKEND=host`), both processes wrote `links/<id>.cmake` with different content. The parent rewrite made the nested `build.ninja` stale, and the next build re-ran CMake in the nested project and then in the parent. Links files now record their writer's binary dir (`_BM_LINKS_WRITER`); the parent keeps a file written from the component's own build dir unless it adds dests.
52
+
-**List values in the toolchain dump stay on one line.**`_bm_tc_export` / `_bm_tc_export_raw` stored each line in a CMake list property, so a value containing `;` (for example `BUILDMASTER_KNOWN_TOOLCHAINS`) was split into one line per item. Nested configures then cached a multi-line value and warned `Value of BUILDMASTER_KNOWN_TOOLCHAINS contained a newline; truncating`. Semicolons are now escaped in the property and the dump writes `set(X "a;b")`.
0 commit comments