Exercism exercises in C++.
Exercism Exercises in C++
Please see the contributing guides
The most useful way to start contributing to this track is to review Pull Requests and/or some of the open track issues. There are not many active contributors, so anyone reviewing PRs or Issues, even just to +1 someone elses opinion, is appreciated.
Here is a list of things that need to be done to add an exercise to this track.
exercises/
directory.example.cpp
and example.h
. example.cpp
is optional but encouraged.bin/fetch-configlet
.The Exercism build system has two unusual constraints. First, example solutions
must be named example.h
and example.cpp
; this prevents Exercism from sending
these files to the student. Second, student solutions must be named <exercise>.h
and <exercise>.cpp
, for example anagram.h
and anagram.cpp
.
The current CMake build system navigates this with an unusual approach: it copies
all example solutions from the exercises/
tree to an alternate directory
(which is ignored by git), renames the solutions as if they were student exercises,
and runs a complete build in this new directory.
Maintainers can largely ignore the alternate exercise directory if they recopy their example solution before running a build. Re-running CMake will recopy all exercise files.
For example, a maintainer can copy, configure, compile, and test all exercises by running the following from the root directory:
cmake . && make
For an individual exercise, in this example anagram
, the maintainer should edit:
exercises/anagram/example.h
exercises/anagram/example.cpp
exercises/anagram/anagram_test.cpp
Then copy, configure, compile, and test with:
cmake . && make test_anagram