Framstag / libosmscout

Libosmscout is a C++ library for offline map rendering, routing and location lookup based on OpenStreetMap data
Other
265 stars 82 forks source link

Move to Catch2 V3 #1608

Closed Framstag closed 1 month ago

Framstag commented 1 month ago

See https://github.com/catchorg/Catch2?tab=readme-ov-file#catch2-v3-has-been-released and https://github.com/catchorg/Catch2/blob/devel/docs/migrate-v2-to-v3.md#top

V3 promises decreased compile times, which IMHO is the main paint point of Catch2 (and possible a minor reason why we do not have much more tests ;-)).

IMHO the easiest way would be to assume that Catch V3 exists as an external library, installed by some package.

This is alt least true for

That would suggest to check for the library during builds, and drop building tests, if the library is not available

Alternative would be to build the library itself locally during compilation...

@Karry @janbar I suggest the first approach, any comments?

janbar commented 1 month ago

No comments, the first approach is the most portable.

Karry commented 1 month ago

Catch2 is header only (version that we are using) and we are distributing it now, right? Looking to recent version, it is not header only anymore...?

So I would rather use packages from the system and sacrifice tests on older distributions...

Framstag commented 1 month ago

Right. I already started working on this. Compile time is a huge difference (much faster). I'll likely will do further cleanup, too. Stay tuned...