mirror of
https://github.com/aydencharles/onionHEN.git
synced 2026-10-21 19:32:59 -05:00
All 17 module CMakeLists repeated the same prologue: language standards, the PS5 SDK header paths, a clang check, the cross-compile triple, the output directory layout and an objcopy strip step. The triple appeared 17 times and the strip block 6 times, each needing manual sync. Add source/cmake/OnionTarget.cmake with onion_module_prologue, onion_output_dirs and onion_strip_debug. Language standards stay opt-in arguments because the loader-side C modules are C17 while the rest are C11, and a shared default would silently downgrade them. Per-module compiler flags are left alone since the modules genuinely differ. Drop IS_SUBPROJECT and IS_CLANG, which were assigned in 11 and 6 modules respectively and never read anywhere. Add CONFIGURE_DEPENDS to the seven source-listing globs that lacked it, so a newly added source file triggers a re-configure instead of being silently omitted from the build. Hoist -DDEBUG onto the shared C flags in the five modules that only passed it to C++, so both languages in a target see the same macros. No .c file keys off DEBUG today, so this changes no behaviour. Compile and link flags were captured from build.ninja before and after: all 132 compile edges and 17 link edges are unchanged except for the intended -DDEBUG addition. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>