Chapter Wrap-up

Let's see what you've learned in this chapter and test your understanding of dependencies.

Summary

Managing dependencies isn't complicated when we use modern, well-supported projects. In most cases, we'd simply rely on the library being available in the system and fall back to FetchContent if it's not. This would be appropriate if dependencies are relatively small and quick to build.

For some really big libraries out there (such as Qt), it would take a significant amount of time to build from the source. To provide automatic dependency resolution in these cases, we'd have to resort to package managers offering compiled versions of libraries matching the user's environment. External tools such as Apt or Conan aren't within the scope of this course, as they are either too system-dependent or too complex.

The good news is that most users know how to install dependencies that our project might require, as long as we provide them with clear instructions to do so. We already know how to detect packages installed in the system with CMake's find-modules and config-files bundled with the library.

Get hands-on with 1400+ tech skills courses.