Build Reconciliation Checklist

This checklist turns the scaffold into a real shared-library project.

1. Configure pass

  • fresh build directory

  • verify all targets are declared

  • verify all source files referenced by CMake exist

  • verify Qt modules are complete for each target

  • verify install/export generation succeeds during configure

2. Library compile pass

Build libraries first with tests and examples off:

  • qtmaterial3_theme

  • qtmaterial3_legacy

  • qtmaterial3_core

  • qtmaterial3_specs

  • qtmaterial3_effects

  • qtmaterial3_widgets

3. Public header audit

  • no private headers leaked through include/

  • no src/.../private includes from public headers

  • export macros present on public classes

  • heavy implementation kept out of public headers

4. Dependency audit

Expected direction:

  • theme independent

  • legacy -> theme

  • core -> theme

  • specs -> theme, core

  • effects -> theme, core

  • widgets -> theme, core, specs, effects

5. Examples pass

Build:

  • gallery

  • minimal consumer

  • install consumer

  • theme playground

6. Test pass

  • build tests after libraries compile

  • classify tests as passing, placeholder, or intentionally disabled

  • do not leave ambiguous broken tests

7. Install/export pass

  • install headers and shared libraries

  • install exported targets

  • install config package files

  • validate external consumer with find_package(QtMaterial3Widgets REQUIRED)

8. Warnings pass

Turn warnings up and clean:

  • missing override

  • hidden virtuals

  • sign/size issues in geometry math

  • moc warnings

  • unused parameters

9. First release-quality checkpoint

The scaffold is reconciled only when:

  • configure passes

  • libraries compile

  • examples compile

  • install/export works

  • consumer example works

  • warnings are acceptable