Crafter.Build/implementations
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 56b44f616a
fix(external): start a CMake build over when its configure inputs change
ConfigureCMake records the flags it injects (compiler, libc++, and for
the mingw target CMAKE_SYSROOT) and reconfigures when they differ, but
it did so in place. CMake then keeps what the old flags compiled: the
Makefiles generator writes --sysroot into build.make, which make does
not compare, so nothing was recompiled, and the check results the old
configure cached stay too. A mingw external built by a release that gave
clang the host's /usr as the sysroot kept its objects reading
__libc_single_threaded after the fix for #43, and only deleting
<cache>/external/<name>-<hash>/build by hand got rid of them.

A build directory with a CMakeCache.txt whose recorded inputs differ is
now removed before the configure. It keeps its name, since projects
point include directories at headers generated in it. The two
crafter-builds the Flatpak's branches are, sharing one cache, rebuild
such an external from nothing each time they take turns, where they
used to reuse each other's objects.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 22:59:22 +01:00
..
Crafter.Build-Agents.cpp feat(agents): write AGENTS.md from a tracked AGENTS.template.md 2026-10-31 16:53:42 +01:00
Crafter.Build-Asset.cpp linting 2026-07-23 01:24:42 +02:00
Crafter.Build-Clang.cpp fix: key the std module's directory on everything it is compiled with 2026-10-31 22:58:44 +01:00
Crafter.Build-External.cpp fix(external): start a CMake build over when its configure inputs change 2026-10-31 22:59:22 +01:00
Crafter.Build-Implementation.cpp fix: recompile the units whose std module was rebuilt in place 2026-10-31 22:59:05 +01:00
Crafter.Build-Interface.cpp fix: decide a build step by its exit code, not by whether it printed 2026-08-26 00:51:15 +00:00
Crafter.Build-Lint.cpp feat(toolchain): resolve the compiler in one place 2026-10-02 22:26:31 +02:00
Crafter.Build-Platform.cpp fix: key the std module's directory on everything it is compiled with 2026-10-31 22:58:44 +01:00
Crafter.Build-Progress.cpp refactor: drop Windows host support 2026-10-02 22:03:34 +02:00
Crafter.Build-Script.cpp fix: rebuild and relink on what changed, submodules at their revisions, and mingw found where it is 2026-10-20 20:20:29 +02:00
Crafter.Build-Shader.cpp fix: rebuild and relink on what changed, submodules at their revisions, and mingw found where it is 2026-10-20 20:20:29 +02:00
Crafter.Build-Test.cpp feat(script): scripts in project.cpp, run with crafter-build run 2026-10-20 19:08:26 +02:00
Crafter.Build-Toolchain.cpp fix(mingw): view only a prefix that holds a Linux system 2026-10-31 22:58:30 +01:00
main.cpp refactor: drop Windows host support 2026-10-02 22:03:34 +02:00