Planning Our Work
Let's learn how to create a cohesive professional project.
We'll cover the following...
The software we'll be building isn't meant to be extremely complex—we'll create a simple calculator that adds two numbers together, as shown in the following figure. It will be released as a console application with a text user interface and a library to perform mathematical operations, which can potentially be used in another project. While there isn't much use for such a project in real life, as C++ offers plenty of support for calculations in its standard library, its banality will be perfect for exploring how all techniques discussed in this course work together in practice:
Usually, projects either produce a user-facing executable or a library for developers. Projects that do both are a bit rarer but not totally uncommon—some applications offer standalone SDKs or libraries supporting the creation of plugins. Another case may be a library that offers examples of its usage. The project we'll build somewhat fits into the last category.
We will start planning by reviewing the list of chapters, recalling their content, and selecting the techniques and tools described therein that we will use to build our computing application:
"First Steps with CMake"
The first chapter gave us basic information on CMake: how to install it and use its command line to build prepared projects. Information on project files provided here will be key: the responsibilities of different files, conventionally used names, and some quirks. We also discussed preset files for generators, but we'll skip these in this project.
"The CMake Language"
Here, we introduced ...