This repository is a template for a modular C++ library.
- All modules are eventually built into one target 'foo' (foo.lib, foo.so, foo.dll).
- This resulting target can be linked to by apps.
- Individual modules can be turned on and off.
- Each module can have its own private dependencies.
- Builds and runs cross-platform with CMake (tested on Linux, macOS and Windows).
Builds documentation with DoxygenToDo- Continuous Integration via Travis CI (free)
- Automated building
- Automated testing
Automated test code coverage analysis with CoverallsToDo
- Continuous Delivery via Travis CI (free)
Automated deployment to GitHub project releaseToDo
-
CMakeLists.txt
-
foo - The library
- CMakeLists.txt
- foo.cpp
- core - core module
- CMakeLists.txt
- include
- (public header files)
- src
- (cpp files and private header files)
- test
- CMakeLists.txt
- *.cpp - Unit test source code
- extension - an extension module
- (same structure as core module)
-
apps - Example app using the library
- CMakeLists.txt
- fooapp.cpp - app source code
...
This project is licensed under the GNU General Public License 3.0 - see the LICENSE file for details.