WIP: Unit tests: Improve build time
- Remove unnecessary includes from tut.hpp
- Add tut.hpp to precompiled headers
Improves test build time from 4:30 to 3:20 on my system.
I disabled precompiled headers, since they were causing problems outside of Linux/gcc that I don't have time to track down. Remaining failures are:
MSVC:
cl : command line error D8016: '/O1' and '/RTC1' command-line options are incompatible [D:\a\geos\geos\build\tests\unit\test_geos_unit.vcxproj]
https://github.com/libgeos/geos/actions/runs/10410141366/job/28831289025?pr=1141#step:3:587
MacOS clang14:
179: geos::geom::Envelope: .....[6=F]..............
179:
179: ---> group: geos::geom::Envelope, test: test<6>
179: problem: assertion failed
179: failed assertion: `FE_INVALID raised`
https://github.com/libgeos/geos/actions/runs/10410141366/job/28831291511?pr=1141#step:8:2684
I suspect the "real solution" to improving the build time is to use a unity build, but that doesn't play well with TUT's use of typedefs:
typedef test_group<test_sgpr_data> group;
typedef group::object object;
test_group<test_sgpr_data> test_sgpr_group("geos::precision::SimpleGeometryPrecisionReducer");
template<>
template<>
void object::test<1>()
We need object to be globally unique, and doing so manually would make writing these tests even more cumbersome than it already is.