libjson-rpc-cpp icon indicating copy to clipboard operation
libjson-rpc-cpp copied to clipboard

Compatibility with catch-3

Open mgorny opened this issue 2 years ago • 5 comments

Catch-3 has been released and it is somewhat compatible with Catch2 but it seems to have some changes nevertheless. Notably, catch2/catch.hpp seems to have been removed:

/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DHTTP_TESTING -DSTUBGEN_TESTING -DTCPSOCKET_TESTING -DUNIXDOMAINSOCKET_TESTING -I/usr/include/jsoncpp -I/tmp/portage/dev-cpp/libjson-rpc-cpp-1.4.0/work/libjson-rpc-cpp-1.4.0_build/gen -I/tmp/portage/dev-cpp/libjson-rpc-cpp-1.4.0/work/libjson-rpc-cpp-1.4.0_build/gen/jsonrpccpp/common -I/tmp/portage/dev-cpp/libjson-rpc-cpp-1.4.0/work/libjson-rpc-cpp-1.4.0/src/test/.. -I/tmp/portage/dev-cpp/libjson-rpc-cpp-1.4.0/work/libjson-rpc-cpp-1.4.0_build  -march=znver2 --param=l1-cache-size=32 --param=l1-cache-line-size=64 -O2 -pipe -frecord-gcc-switches -std=c++11 -MD -MT src/test/CMakeFiles/unit_testsuite.dir/main.cpp.o -MF src/test/CMakeFiles/unit_testsuite.dir/main.cpp.o.d -o src/test/CMakeFiles/unit_testsuite.dir/main.cpp.o -c /tmp/portage/dev-cpp/libjson-rpc-cpp-1.4.0/work/libjson-rpc-cpp-1.4.0/src/test/main.cpp
/tmp/portage/dev-cpp/libjson-rpc-cpp-1.4.0/work/libjson-rpc-cpp-1.4.0/src/test/main.cpp:11:10: fatal error: catch2/catch.hpp: No such file or directory
   11 | #include <catch2/catch.hpp>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.

mgorny avatar Dec 12 '22 17:12 mgorny

Hi Michal!

Thank you for raising the issue. Uff, I don't think I will upgrade to Catch 3. I wanted to switch to doctest some time ago anyway. I will see. If nothing I else, as a quick fix I can just vendor the old Catch2 version.

cinemast avatar Dec 13 '22 08:12 cinemast

No need to vendor, it's against Gentoo policy to use vendored libs, so we'd have to block on external Catch-2 anyway.

mgorny avatar Dec 13 '22 13:12 mgorny

I don't quite understand, this is only for testing purposes, not for the functionality itself. Could you elaborate a little bit on what is currently the issue with catch2 and Gentoo?

cinemast avatar Dec 22 '22 17:12 cinemast

Catch3 is technically a continuation of Catch2, and it can't be installed alongside it, so we can have only one version.

mgorny avatar Dec 22 '22 17:12 mgorny

(i.e. it's installed as /usr/include/catch2, etc.)

mgorny avatar Dec 22 '22 17:12 mgorny