• Forum
  • Lounge
  • Feedback on A General and Easy to Use C+

 
Feedback on A General and Easy to Use C++14 Project Template

Hey guys, the following may seem like advertising (and it is but its the free kind ;P ), but it is for the benefit of the C++ community.

So,

Everyone knows how troublesome it is to set up cross-platform CMake projects with...

- continuous integration
- documentation
- unit testing
- code coverage
- static analysis

... and all the likes on Github. So to make this easier, I've set up a template...

https://github.com/arnavb/cpp14-project-template/

...that allows you to do all this in C++14 with easy to follow instructions located directly in the README! I plan on using this template for my projects, and I want to let you all know that it exists (It's licensed under CC0, so no attribution is required but appreciated!)

The current features that are in this template are:

- CI testing on Linux/OSX with Travis CI.
- CI testing on Windows with Appveyor.
- Documentation hosted on codedocs.xyz using Doxygen.
- Unit testing using doctest (A faster variant of Catch).
- Code coverage using LCOV/GCOV/Genhtml and hosted on codecov.io.
- Static analysis using Coverity Scan (Very powerful) and to a lesser extent, Codacy (Uses cppcheck).

So again, if you want to use this template, attribution is NOT required but will be appreciated. The goal of the template is to make lives easier for people attempting to create cross-platform C++ projects, which is hard itself on its own.

If you happen to find this helpful, please don't hesitate in starring the project on Github!

Also, I would also appreciate any/all feedback here so I can improve usage of the template!
Last edited on
Well, doing this is still not easy. Can't you create a program that ask for the required stuff and generate file(s) accordingly?

Why is it limited to c++14?

For instance this:
Open the file .codedocs and replace the variables PROJECT_NAME, PROJECT_NUMBER, and PROJECT_NUMBER with their corresponding values.
What is the use of PROJECT_NUMBER?
coder777 wrote:
Well, doing this is still not easy. Can't you create a program that ask for the required stuff and generate file(s) accordingly?

You're right; I was actually thinking about making a script to generate these files and I'm going to get to that eventually.
coder777 wrote:
Why is it limited to c++14?

Well, you just need to change the C++ standard in the top CMakeLists.txt. I.e set(CMAKE_CXX_STANDARD NUM) The primary goal was C++14, however.
coder777 wrote:
What is the use of PROJECT_NUMBER?

Project version string (e.g. 1.2.2)
Last edited on
Topic archived. No new replies allowed.