mirror of
https://github.com/Heretek-AI/game-engine.git
synced 2026-11-07 10:55:58 -10:00
* [M1-01] Initialize monorepo: CMake C++20 build, .slnx workspace, vendored deps, CI - Root CMakeLists.txt (C++20 strict, PIC) + cmake/EngineHotFlags (-Wall/-Werror, -mavx2 x86-64 only, -fno-exceptions/-fno-rtti hot path) - CMakePresets.json: linux/macos/windows debug+release, ci-* (WERROR) - native/: engine_core shared lib (version API), core/ecs hot OBJECT libs, renderer/physics/audio/bridge stubs with owners - native/tests: engine_core_smoke CTest (version handshake) - deps/: flecs v4.1.6 + enkiTS pinned, README with re-vendor recipe - Engine.slnx + Directory.Build.props (net10.0, AllowUnsafeBlocks, TieredPGO, zero-warn) + Bindings/Runtime/Tests/abi_codegen stubs - .github/workflows/ci.yml: native (CMake+CTest) + managed (dotnet build+run) on ubuntu/macos/windows - Verified: configure+build+ctest green on linux-debug (Clang), AVX2/no-exceptions flags confirmed in compile_commands.json * fix(ci): AbiCodegen assembly name (CA1707), Windows Ninja+MSVC presets * fix(ci): fail-fast windows test (5min step timeout, 60s test timeout, verbose) * fix(ci): isolate windows hang — bootstrap control test + unbuffered smoke output * fix(ci): copy runtime DLLs next to windows test binaries * fix(ci): only copy DLLs for linked test target --------- Co-authored-by: hermes-agent <hermes-agent@local> Co-authored-by: hermes <[email protected]>
961 B
961 B
Vendored native dependencies (M1-01)
Checked in directly (no submodules) so clean clones build offline after checkout. Do not hand-edit vendored trees — upgrades are whole-tree replacements, recorded below.
| Dep | Version pinned | Upstream | Notes |
|---|---|---|---|
| flecs | v4.1.6 (fb55f3c2) |
https://github.com/SanderMertens/flecs | C99/C++ archetype ECS; built flecs_static only (FLECS_SHARED=OFF, FLECS_TESTS=OFF) |
| enkiTS | master@404a3bf8 |
https://github.com/dougbinks/enkiTS | C++ task scheduler; static lib, C interface ON (M1-03 binds it to Flecs task hooks), examples OFF |
Re-vendor recipe:
git clone --depth 1 --branch v4.1.6 https://github.com/SanderMertens/flecs.git deps/flecs
git clone --depth 1 https://github.com/dougbinks/enkiTS.git deps/enkiTS
rm -rf deps/flecs/.git deps/enkiTS/.git
# then update the pin table above with the new tag/SHA