Rewrite FindParMETIS to provide imported targets
This MR adds imported-targets to the
FindParMETIS.cmake module, following modern cmake guidelines.
Instead of exporting include directories and libraries as variables, the find modules exports an imported target that contains all the necessary information to include and link ParMETIS. The find module introduces the imported target:
The imported target contains the dependencies to METIS and MPI automatically, and if the
PARMETIS_LIB_NAME includes "ptscotch", additionally a link to the
PTScotch::PTScotch target is included. Thus, those libraries do not need to be linked manually.
This is different from the previous strategy where it was guessed that if a parmetis code does not compile, and a symbol is not found, PTScotch must be linked. This wild guessing is replaced with an inspection of the lib-name "ptscotchparmetis" and a link against the package imported target instead of searching for the PTScotch library again.
- Check for the failing Pipelines
- Design a proper test for the functionality of ParMETIS
- Test PTScotch backend for ParMETIS