Chapter 4: Packaging, Deploying, and Installing a CMake Project
Building a software project is only half the story. The other half is about delivering and presenting the software to your consumers. Consumers are the biggest stakeholders of any project, even if you are writing a hobby project for yourself. These consumers may have a variety of experiences and purposes. They might be developers, package maintainers, power users, or the average Joes. It is important to understand their use cases, scenarios, and requirements. Since the software is mostly abstract, let's assume that your project is baked beans instead – it may be delicious and may smell good in the factory, but improper packaging will reduce its shelf life, making it hard to transport or consume. This will make your product less likely to be desired by the consumers. Even though your product is wonderful at the start, the consumer will not notice it since their experience with your product is bad due to bad...