# NewProject --- A simple demonstration of how to include multiple cpp files in a single project, using cmake. There are three strategies: 1. direct declaration in the main, with the external source files identified in the cmakelist add_executables. 2. explicit inclusion (`#include mysource.cpp`). In this case, they should not be added to the cmakelist. 3. The "canonical" or "best practice" c++ approach: explicit inclusion of a header file (`#include mysource.h`) which declares all the classes and methods publicly accessible to main. Both the source and header must be added to cmakelist. Here is my main, with all three strategies implemented: ![inclusions](img/inclusions.png) Here is the cmakelist: ![](img/cmakelist.png) Note, that you'll have to specify your version of cmake in the `set`. You can build this with this command: ```shell cmake --build {your-project-path}/NewProject/cmake-build-debug --target NewProject -j 14 ``` And when you run the compiled binary, you should see: ![the output](img/output.png)