chore: move build output under build/ and scripts into scripts/

Layout:
- scripts/ holds the four build scripts plus the new clean.sh
- cmake/ holds mingw64-toolchain.cmake
- the scripts default to build/linux, build/macos, build/windows, build/harness
- docs/ holds the audit documents, with the round 1 task list archived

Cleanup:
- scripts/clean.sh removes generated output, with --dry-run, --staging,
  --legacy and --all, and refuses tracked, protected or outside paths
- the Windows VST3 manifest now comes from cmake/moduleinfo.json.in, so its
  version, vendor and class IDs follow cmake/Plugin.cmake instead of a
  hand-written heredoc that could drift
- deleted the unused Source/GUI/Slider, which no code constructed
- fixed the hidden double processBlock overload: three warning lines to zero
- unslopped the build scripts, the two .cjs helpers and the CMake comments
- .gitignore covers the upstream JUCE Projucer and DemoRunner binaries

Verified: five scripts pass bash -n; the harness passes CTest with zero
warning lines; the Linux VST3 and Standalone link; the Windows cross-build
passes its x86-64, runtime-import and entry-point checks; each configure
exposes only its own targets; and a full build leaves Source/ and
third_party/JUCE unchanged. The generated manifest is identical to the
previous hand-written one.
This commit is contained in:
biggy committed 2026-10-06 09:06:53 +02:00
1 parent e4cea300db
commit facd5c5b5e
25 files changed
+438 -313

No files matched your search

+10 -4
View File
@@ -1,9 +1,10 @@
# CMake build directories
# Build output. /build/ holds the default trees; the other two patterns cover a
# BUILD_DIR override and the trees that earlier script versions left at the root.
/build/
/build_*/
/cmake-build-*/
# Windows output staging
# Windows distribution staging
/SerumAlt_Windows/
# CMake generated files
@@ -12,10 +13,15 @@ compile_commands.json
# IDE and OS files
.vscode/
.idea/
.idea
*.user
.DS_Store
.cache/
# graft's local graph cache — regenerable, not committed (run `graft build`).
# Upstream JUCE release binaries. They ship with the vendored copy and are not
# built here; committing them would add 22 MB of Linux executables.
/third_party/JUCE/DemoRunner
/third_party/JUCE/Projucer
# graft's local graph cache, regenerable and not committed (run `graft build`).
/graft/