CMakeLists.txt is a build configuration file for CMake. There needs to be a CMakeLists.txt in the project root directory. Subdirectories can also contain CMakeLists.txt as long as the subdirectory is added in the root CMakeLists.txt.
A baseline CMakeLists.txt for a simple project is as follows:
For more complex projects that contain libraries, we need to create a CMakeLists.txt within each library directory with the following content: