Allow more functionality through system METIS #1117
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a follow up PR to #570 as when it was merged I was not available to provide my review.
There is no reason to specify the full local
metis.h
include path, with how metis is treated in cmake,metis.h
works for both local and system metis.See: https://github.com/borglab/gtsam/pull/570/files#diff-0106693c254359c8aceceb57d5b6c0643760cc8cce6760ccfd2d31bc6d0be2dbR26
where only metis.h is used without the ifdef.
More importantly this PR enables metis's internal api ("metislib.h") via extern C for SYSTEM_METIS. We already use the internal API for our local metis install and since we carry the header files of metis with us I do not see a problem in enabling
extern "C"
for system metis as well. The only problem that can occur with this is a desync between the local headers we carry for metis and what metis is compiled under at the system level. Considering metis is a very old and stable package that hasn't seen updates for a long time, I do not see this issue occurring and if it does should be easily fixable, by just updating our local metis copy.Tagging @jlblancoc and @varunagrawal for reviews. Also @berndpfrommer ig