feat(deps): add FindBoost module with components

Fetch the Boost CMake release archive (default 1.92.0) and build only
the libraries requested via find_package(Boost COMPONENTS ...), plus
their dependencies. Each component is exposed as Boost::<name>, e.g.
Boost::serialization. cmat now uses this module instead of a system
Boost install, so the Boost exercises are always available.

Also fix SolutionEx62Bonus: Employee.h used base_object without
including <boost/serialization/base_object.hpp>. This was not an
intentional exercise bug; it likely relied on a transitive include
in older Boost versions.

Co-authored-by: Claude Opus 5.5 <claude.opus5.5@anthropic.com>
This commit is contained in:
2026-10-06 08:11:54 +02:00
co-authored by Claude Opus 5.5
parent 38473eb734
commit c681ebab2b
4 changed files with 94 additions and 5 deletions
+1 -1
View File
@@ -100,7 +100,7 @@ cppcourse/
- `Materials/`: supplementary course material PDFs.
- Each exercise directory holds a `CMakeLists.txt` that defines its target via
`cmat_add_exercise()` (see `cmat/CMakeLists.txt`). Exercises that need a
missing dependency (e.g. Boost) are reported as not available at configure
missing dependency (e.g. curses) are reported as not available at configure
time and skipped.
## Behavioral Guidelines