This session serves as a quick introduction to Git and CMake as well as an in-depth explanation of how to configure and use them for large, multi-platform, C++ projects with many open source dependencies. The techniques described have been proven in practice with several C++ projects that include hundreds of libraries, applications, and dependencies.
The conventions described provide several capabilities that go beyond the typical setup. These include the use of the original repositories for third party dependencies, automatic submodule pointer updates, libraries built on an as-needed basis, and methods for contributing patches upstream.
Slides