A lot of parts of CGAL use `<thread>` in conjunction with TBB. I have
added the `find_package(Threads)` in `CGAL_target_use_TBB.cmake` for
convenience.
I have also restored FindTBB.cmake as a pure copy of
https://github.com/Kitware/VTK/blob/master/CMake/FindTBB.cmake
with that version:
> c7249fed2e73ce25fbbc53363d9caf4ab5cc9195
> Author: Cory Quammen <cory.quammen@kitware.com>
> Date: Thu Feb 14 23:21:09 2019 -0500
>
> FindTBB: handle basic linker scripts
>
> TBB binaries may define libtbb.so as a linker script of the form
>
> INPUT(libtbb.so.2)
>
> Make FindTBB find the real .so file libtbb.so points to in such cases.
>
> Approach borrowed from vtk-m/CMake/VTKmDeviceAdapters.cmake on
> suggestion from Robert Maynard.
>
>
When `CGAL_HEADER_ONLY` and `WITH_{examples|tests|demos}`, then only
the first call to `find_package(CGAL)` does the job. The subsequent
calls return very fast, by caching the results in global properties.
That is the step 2 of the header-only effort.
Still to do:
- make it work with `make install`
- ensure that `CGAL_Core` is correctly handled with `CGAL_DISABLE_GMP`