Per project boilerplate files for C++ submodule manager. See also the C++ submodule manager command-line interface project.
CMake functions are provided for simple libraries, tests, and executables.
Adds an executable target. Assumes that the target directory has the following structure:
CMakeLists.txt
program/
*.(cpp|hpp)
Add dependencies using target_link_libraries separately.
Adds an executable test target. Assumes that the target directory has the following structure:
CMakeLists.txt
testing/
*.(cpp|hpp)
Add dependencies using target_link_libraries separately.
Adds a library target. Assumes that the target directory has the following structure:
CMakeLists.txt
include/
${name}/
*.hpp
library/
*.(cpp|hpp)
Note that inside include there is a directory with the target ${name} (which
should also include the major version) to differentiate between the header files
of different targets (and their major versions).
Add dependencies using target_link_libraries separately.
A Travis CI configuration file is provided to build
and test both Debug and Release builds on various OS and compiler
configurations:
- Linux
- GCC (8)
- Clang (7)
- OS X
- Apple Clang (10)
- Windows
- Visual Studio (2017)
- MinGW GCC (8)
Just add your project to Travis CI.