I've discussed this in various messages, collecting here to track this cleanup work.
@KevinWMatthews and I discussed in #233 the problems and some solutions for the fact that Catch2 has very slow compilation speed. I also mention it in #253. I explained in #233 (comment) the problems in more detail.
I've already setup #271 to improve the student user experience.
To reduce our resources in CI so we don't impact exercism as a whole, we should also implement the changes proposed by @KevinWMatthews in #233 (comment), using a common Catch main object for all the exercises. This, as I experimented with in #233 (comment), will greatly speed up the builds.
I propose then that we implement those changes, after making sure there isn't something we've overlooked, and use the common Catch main object as the default for compiling from the root, and setup Travis to only compile every object separately for the modern Clang compiler setting. There may be some work to combine this logic with the partial builds implemented in #266.
This isn't really urgent, but it would be a nice improvement to be better citizens for Exercism and Travis.
I've discussed this in various messages, collecting here to track this cleanup work.
@KevinWMatthews and I discussed in #233 the problems and some solutions for the fact that Catch2 has very slow compilation speed. I also mention it in #253. I explained in #233 (comment) the problems in more detail.
I've already setup #271 to improve the student user experience.
To reduce our resources in CI so we don't impact exercism as a whole, we should also implement the changes proposed by @KevinWMatthews in #233 (comment), using a common Catch main object for all the exercises. This, as I experimented with in #233 (comment), will greatly speed up the builds.
I propose then that we implement those changes, after making sure there isn't something we've overlooked, and use the common Catch main object as the default for compiling from the root, and setup Travis to only compile every object separately for the modern Clang compiler setting. There may be some work to combine this logic with the partial builds implemented in #266.
This isn't really urgent, but it would be a nice improvement to be better citizens for Exercism and Travis.