Oftentimes, our project is not merely a simple hello world application that runs only a single executable, but can be a collection of executables of different types that run on servers, client computers, or even mobile devices simultaneously. For example, your end user could be running the app you built from Qt, which runs on their mobile device. Then, you have a server application that is also built from Qt that processes information sent from the user's app. Finally, you provide your server admin with management software that you built with Qt that runs on their PC.
To build and maintain such a huge application, we need to make sure it is always easy and keeps things together. To ensure that we can easily edit, build, and debug all the different applications, we use something called subdir to group these projects together into one...