Skip to content

Boiler plate for C++ projects, with CMake, Google Test, Travis CI and coverage reports.

License

Notifications You must be signed in to change notification settings

Fromeworld/cpp-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status license Project Status: Active – The project has reached a stable, usable state and is being actively developed.

Boiler plate for C++ projects

This is a boiler plate for C++ projects. What you get:

Structure

.
├── CMakeLists.txt
├── app
│   └── main.cpp
├── include
│   ├── example.h
│   └── exampleConfig.h.in
├── src
│   └── example.cpp
└── tests
    ├── dummy.cpp
    └── main.cpp

Sources go in src/, header files in include/, main programs in app/, and tests go in tests/ (compiled to unit_tests.x by default).

If you add a new executable, say app/hello.cpp, you only need to add the following three lines to CMakeLists.txt:

add_executable(hello.x app/hello.cpp)   # Name of exec. and location of file.
add_dependencies(hello.x engine)        # engine is the library built from src/*.cpp
target_link_libraries(hello.x engine)   # Link the executable to the 'engine'.

You can find the example that builds the example in app/main.cpp under the Build section in CMakeLists.txt. If the executable you made does not use the library in src/, then only the first line is needed.

Building

Build by making a build directory (i.e. build/), run cmake in that dir, and then use make to build the desired target.

Example:

$ mkdir build && cd build
$ cmake .. # argument is location of CMakelists.txt
$ make
$ make gtest
$ ./main.x

.gitignore

The .gitignore file is a copy of the Github C++.gitignore file, with the addition of ignoring the build directory (build/).

Services

If repository is activated with Travis-CI, then unit tests will be built and executed on each commit.

If repository is activated with Coveralls, then deployment to Travis will also calculate code coverage and upload this to Coveralls.io.

Setup

When starting a new project, you probably don't want the history of this repository. To start fresh, with just the files and no history, you simply delete the .git/ directory and start a new one:

$ git clone <link to this repo>
$ cd cpp-project
$ rm -rf .git
$ git init
$ git commit -am "Added C++ Boiler Plate"

The result is a fresh Git repository with one commit adding all files from the boiler plate.

About

Boiler plate for C++ projects, with CMake, Google Test, Travis CI and coverage reports.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CMake 86.7%
  • C++ 8.7%
  • Shell 4.6%