use system libraries

I understand that you had trouble with inconsistencies in the past when you used a mix of the system libraries and the bundled ones. This approach takes all the libraries from the system with the exception of those two that are not part of extra (heatshrink and LibBGCode).

To make this work, the following fixes were needed:

  • Remove the packaged FindOpenVDB.cmake. This made weird assumptions about OpenVDB that are partially incorrect with current versions. Since OpenVDB comes with its own CMake interface, this is not needed.
  • Do not enforce a specific OpenCASCADE. Also, remove some libraries referenced from OpenCASCADE that are no longer part of the current version and apparently PrusaSlicer does not need them anyway.
  • Update the minimum required CMake version to at least 3.10 in all relevant CMakeLists.txt files. Current CMake no longer supports policies older than CMake 3.5 and complains about those older than 3.10. Since all those files seem to work perfectly fine with newer policies, there is no point in claiming older compatibility.
  • Adapt the code to some API changes in CGAL.
  • Adapt the code to some API changes in Boost.
  • Use the NanoSVG library in libslic3r instead of materializing a copy in the library itself.

I plan to push all those changes upstream after making them work with the bundled build of PrusaSlicer.

I used that setup for several years with ClearLinux now without issues. Now, after switching to Arch Linux I adapted this to the versions available there and got it running without issues for me and with all tests passing.

As such, I would expect this to be more robust than the weird mix of libraries we currently have. But in the end it is your choice as the maintainer, which path you want to follow here.

Merge request reports

Loading