Installing and Packaging
Our project has been built, tested, and documented. Now, it’s finally time to release it to our users. This chapter primarily focuses on the final two steps we need to take: installation and packaging. These are advanced techniques that build on top of everything we’ve learned so far: managing targets and their dependencies, transient usage requirements, generator expressions, and much more.
Installation allows our project to be discoverable and accessible system-wide. We will cover how to export targets for use by other projects without needing installation and how to install our projects for easy system-wide accessibility. We’ll learn how to configure our project to automatically place various artifact types in their appropriate directories. To handle more advanced scenarios, we’ll introduce low-level commands for installing files and directories, as well as for executing custom scripts and CMake commands.
Next, we’...