Skip to content

Repository files navigation

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.

Releases

Packages

Contributors

Languages