C++ 프로젝트를 무엇으로, 어떻게 빌드할 것인가를 다루는 묶음이다. 도구 하나하나의 사용법보다 각 도구가 어떤 문제 때문에 생겨났고 어디서 한계에 부딪히는지를 축으로 삼는다.
읽는 순서는 이렇다.
- C++ 빌드 시스템의 역사 — make에서 CMake, 그리고 Ninja·Bazel까지. 각 단계가 무엇을 해결하려 했나
- make로 빌드하기 — 규칙과 타임스탬프로 실제 프로젝트를 빌드하고, 어디서 막히는지까지
- CMake로 옮기기 — 같은 프로젝트를 모던 CMake로. 생성기와 프리셋
- Meson과 Bazel은 무엇을 노리는가 — 두 도구를 같은 프로젝트로 돌려 보고, 재현성과 캐시라는 축을 확인한다
- C++ 빌드 빠르게 하기 — 도구를 그대로 두고 같은 빌드를 빠르게. 먼저 재고 그다음 고친다
- 의존 라이브러리를 어떻게 찾는가 — pkg-config와 vcpkg. 남의 라이브러리를 찾아 링크하는 방식이 플랫폼마다 왜 갈렸나