Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/richelbilderbeek/travis_cpp_tutorial

Tutorial how to use Travis CI with C++
https://github.com/richelbilderbeek/travis_cpp_tutorial

cpp cpp11 cpp14 cpp17 travis travis-ci travis-cpp-tutorial tutorial

Last synced: 11 days ago
JSON representation

Tutorial how to use Travis CI with C++

Awesome Lists containing this project

README

        

# travis_cpp_tutorial

Branch |[![Travis CI logo](docs/images/TravisCI.png)](https://travis-ci.org)
---------|------------------------------------------------------------------------------------------------------------------------------------------------------------
`master` |[![Build Status](https://travis-ci.org/richelbilderbeek/travis_cpp_tutorial.svg?branch=master)](https://travis-ci.org/richelbilderbeek/travis_cpp_tutorial)
`develop`|[![Build Status](https://travis-ci.org/richelbilderbeek/travis_cpp_tutorial.svg?branch=develop)](https://travis-ci.org/richelbilderbeek/travis_cpp_tutorial)
`richel` |[![Build Status](https://travis-ci.org/richelbilderbeek/travis_cpp_tutorial.svg?branch=richel)](https://travis-ci.org/richelbilderbeek/travis_cpp_tutorial)

Tutorial how to use Travis CI with C++.

* View the [tutorial](tutorial.md) (screen friendly)
* Download the [PDF](travis_cpp_tutorial.pdf)
* Want to pick a minimal example? Go to [statuses](statuses.md)
* Want to see a setup with many of these tools combined? Go to [the_richel_setup](https://github.com/richelbilderbeek/the_richel_setup)
* Want to read a blog post about Travis CI? Go to [blog post about Travis CI](https://arne-mertz.de/2017/04/continuous-integration-travis-ci)
* Want to hear a [CppCast](https://cppcast.com) episode about Travis CI? Go to [CppCast episode about Travis CI](http://cppcast.com/2017/06/richel-bilderbeek/)

## C++ libraries and tools explored

In alphabetical order

* [Bio++](https://github.com/richelbilderbeek/cpp/blob/master/content/CppBpp.md): C++ biology libraries
* [Boost](https://github.com/richelbilderbeek/cpp/blob/master/content/CppBoost.md): Boost is a collection of C++ libraries ([homepage](http://www.boost.org/))
* Boost.Test: Boost.Test is a C++ testing framework within the Boost libraries
* ChaiScript: embedded scripting language ([ChaiScript GitHub](https://github.com/ChaiScript/ChaiScript))
* [clang](https://github.com/richelbilderbeek/cpp/blob/master/content/CppClang.md): C++ compiler
* [CMake](https://github.com/richelbilderbeek/cpp/blob/master/content/CppCmake.md): makefile generator
* [Codecov](https://github.com/richelbilderbeek/cpp/blob/master/content/CppCodecov.md): Codecov is a webservice to display a `gcov` code coverage result, that plays well with GitHub. It can be actived from a Travis script
* Coverity: a static code analysis tool [FAILS]
* [cppcheck](https://github.com/richelbilderbeek/cpp/blob/master/content/CppCppcheck.md): static code analysis
* `fparser`: Warp's function parser
* [GCC](https://github.com/richelbilderbeek/cpp/blob/master/content/CppGcc.md): GNU Compiler Collection, a collection of compilers, in this case, the C++ compiler called `g++`
* [gcov](https://github.com/richelbilderbeek/cpp/blob/master/content/CppGcov.md): gcov is a GNU tool to measur the code coverage of (among others) C++ code. It can be actived from a Travis script
* [git](https://github.com/richelbilderbeek/cpp/blob/master/content/CppGit.md): git is a version control system. It tracks the changes made in the project and allows for viewing the project its history
* [GitHub](https://github.com/richelbilderbeek/cpp/blob/master/content/CppGitHub.md): GitHub is a site where git repositories are hosted. It gives a git project a website where the files can be viewed. Next to this, there is a project page for issues like bug reports and feature requests
* [gprof](https://github.com/richelbilderbeek/cpp/blob/master/content/CppGprof.md): gprof is a GNU tool to profile (among others) C++ code. It can be actived from a Travis script
* [GSL](https://github.com/richelbilderbeek/cpp/blob/master/content/CppGsl.md): [Microsoft implementation of the Guidelines Support Library](https://github.com/Microsoft/GSL)
* [helgrind](https://github.com/richelbilderbeek/cpp/blob/master/content/CppHelgrind.md): [a thread error detector](http://valgrind.org/docs/manual/hg-manual.html)
* [libnds](https://github.com/richelbilderbeek/cpp/blob/master/content/CppLibNds.md): Nintendo DS library
* [memcheck](https://github.com/richelbilderbeek/cpp/blob/master/content/CppMemcheck.md): detect memory leaks
* [OCLint](https://github.com/richelbilderbeek/cpp/blob/master/content/CppOclint.md): static code analyis ([homepage](http://oclint.org/)) ([GitHub](https://github.com/oclint/oclint))
* [qmake](https://github.com/richelbilderbeek/cpp/blob/master/content/CppQmake.md): makefile generator for Qt projects
* [Qt](https://github.com/richelbilderbeek/cpp/blob/master/content/CppQt.md): a C++ GUI library
* QTest: the Qt testing framework
* [Qwt](https://github.com/richelbilderbeek/cpp/blob/master/content/CppQwt.md): a Qt charts/graphs library
* Rcpp: Rcpp is an R package that allows mixing R and C++ code
* Rcpp11: Rcpp is an R package that allows mixing R and C++11 code
* SFML: a C++ multimedia library
* SLOCcount: estimate the value of your code
* Travis CI: Travis CI is a continuous integration (hence the 'CI' in its name) tool that plays well with GitHub. It is activated when someone uploads his/her code to the GitHub
* Unreal Engine 4: a proprietary C++ game engine
* Urho3D: a free and open-source C++ game engine
* Wt: a C++ web application library

## Non-C++ tools explored

In alphabetical order. Go to [statuses](statuses.md) to find these.

* C: some C code examples
* `convert`: convert images using ImageMagick
* `cowsay`: an ASCII art cow displaying a message
* `lyx`: convert LyX to PDF
* `proselint`: check your prose for style
* R: some R code examples
* `spell`: check your prose for spelling
* `shunit2`: bash script testing framework

## Statuses

Go to [statuses](statuses.md).

## Contributing

Great! See [CONTRIBUTING.md](CONTRIBUTING.md).

## Code of conduct

This project follows the [Contributor Covenant](http://contributor-covenant.org). See [code_of_conduct.md](code_of_conduct.md).

## Contributors

* [@rugk](https://github.com/rugk)

## Other Travis tutorials

* [Travis R tutorial](https://github.com/richelbilderbeek/travis_r_tutorial)
* [General Travis tutorial](https://github.com/richelbilderbeek/travis_tutorial)