Ensure C language when requiring MPI #5062
Open
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.
With PARALLEL enabled, the exported targets depend on
MPI::MPI_C
. However, this target isn't created byfind_package(MPI)
when the consuming project has only languageCXX
enabled. There is also no good diagnostics becauseMPI
is found successfully.(Alternative: Use
find_package(MPI ... COMPONENTS C)
. This would enable proper diagnostics. But simply enabling languageC
is more effective. This might be reconsidered when fully supporting cmake config search by switching tofind_dependency()
instead offind_package(... REQUIRED)
.)Noticed while testing vcpkg port gdal with hdf5 being a transitive dependency - the minimal test port had just
CXX
enabled.This PR: Build successful.
Before this PR:
Diagnostics-only alternative: