felt / tippecanoe

Build vector tilesets from large collections of GeoJSON features.
BSD 2-Clause "Simplified" License
875 stars 76 forks source link

Upgrade catch from v1.5.7 to v2.13.10 #223

Closed springmeyer closed 4 months ago

springmeyer commented 4 months ago

Solves #203. This fixes local Mac Debug builds which were previously failing with:

unit.cpp:11:2: error: unrecognized instruction mnemonic, did you mean: bit, cnt, hint, ins, not?
        REQUIRE(check_utf8("") == std::string(""));
        ^
./catch/catch.hpp:10451:25: note: expanded from macro 'REQUIRE'
#define REQUIRE( expr ) INTERNAL_CATCH_TEST( expr, Catch::ResultDisposition::Normal, "REQUIRE" )
                        ^

Now, this works: BUILDTYPE=Debug make again.

Note: this upgrades to the latest version of catch.hpp v2.x. There is a catch v3.x effort mentioned at https://github.com/catchorg/Catch2?tab=readme-ov-file#catch2-v3-has-been-released

You are on the devel branch, where the v3 version is being developed. v3 brings a bunch of significant changes, the big one being that Catch2 is no longer a single-header library. Catch2 now behaves as a normal library, with multiple headers and separately compiled implementation.

But I figured that using v2.x was sufficient and did not want to spend time upgrading to a non single-header version.