Minimal CMake example, the only dependency is cmake
Project structure
├── CMakeLists.txt
├── build
│ ├── ...
│ ├── Makefile
│ ├── bin
│ │ └── runner
│ └── lib
│ └── libWorld.dylib
├── include
│ └── project
│ └── World.hpp
└── src
├── World.cpp
└── main.cpp
./include/project
contains headers used in the library./src/
contains header implementation and additional source files to create the executable
mkdir build
cd build
cmake ..
make
./bin/runner