Skip to content
Snippets Groups Projects

[cmake] Call FindMETIS from FindParMETIS

Merged Christoph Grüninger requested to merge feature/backwards-compatible-parmetischeck into master
1 unresolved thread

Thanks to Simon Praetorius for providing the patch idea.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
46 46 if(NOT METIS_FOUND)
47 47 find_package_handle_standard_args(
48 48 "ParMETIS"
49 FAIL_MESSAGE "METIS not found which is required for ParMETIS."
49 WARNING_MESSAGE "METIS not found which is required for ParMETIS. Aborting ParMETIS search!"
    • Resolved by Christoph Grüninger

      An example installation of ParMETIS in non-system location is a download-all installation of PETSc. There, all includes are in the same directory and also all libraries. So, if you specify PARMETIS_DIR=PETSC_DIR but not METIS_DIR, METIS is not found.

      In the old FindParMETIS.cmake there was a comment, that there is an "installation bug in ParMETIS 4.0.3" that forces you to "copy [metis.h] manually next to parmetis.h", because CMAKE_REQUIRED_INCLUDES was set to PARMETIS_INCLUDE_DIR. But, when METIS_FOUND was already true before, maybe the search was skipped completly(?)

      Tree solutions:

      1. If you want to use ParMETIS, your also have to specify METIS_DIR
      2. We set additional search PATHS or HINTS to find_path and find_library in FindMETIS.cmake depending on PARMETIS_DIR
      3. We set METIS_DIR to PARMETIS_DIR in case the former is not defined and with this adjust the search paths.
  • I merge this without the patch from Robert. If this does not solve all problems, please let me know and we discuss further issues.

  • Christoph Grüninger enabled an automatic merge when the pipeline for d85085a0 succeeds

    enabled an automatic merge when the pipeline for d85085a0 succeeds

  • mentioned in commit 6f0293eb

  • @gruenich: Your patch still breaks my tool chain. I'm tending to revert all the related patches since it seems impossible to implement a decent fix.

  • @gruenich: I fixed your stuff in !714 (merged) and now stay away from quick cmake fixes plz. Obviously, the test suite for cmake is not sufficient to just run it in the CI. It needs to be fixed because changes in dune-common can affect a lot of down stream modules. And there is a quite a number of different combinations that need to be checked. I doubt that you have done that nor that you have the time for it.

  • Please register or sign in to reply
    Loading