In this section, we are showing a more complex script that includes subfolders, libraries, and executables; all told, just two files and a few lines, as demonstrated in this script. It's not mandatory to create multiple CMakeLists.txt files, because we can specify everything in the main CMakeLists.txt file. However, it is more common to use different CMakeLists.txt files for each project subfolder, thereby making it more flexible and portable.
This example has a code structure folder, which contains one folder for a utils library and the root folder, which contains the main executable:
CMakeLists.txt main.cpp utils/ CMakeLists.txt computeTime.cpp computeTime.h logger.cpp logger.h plotting.cpp plotting.h