Add build files using autotools to Example package #666
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 adds files to the Example package that lay out how downstream projects that use autotools could integrate SuiteSparse.
This leaves the CMake build rules of the the example (mostly) untouched.
Additionally, this adds a step to the CI which builds the example using autotools. This can serve as a test of whether the .pc files are working. (This test would probably have revealed issues like #656 earlier.)
We already knew that flags were missing from the .pc files to statically link with CUDA. I still don't know enough about CUDA to determine the necessary linker flags generally. So, I resorted to hard-coding what I found on their forum. I hope that is good enough for now.
I chose autotools over other build systems (like meson, scons, ...) because I know how to use autotools but not the others. Additionally, autotools (albeit being "old") is still one of the major established build systems.
If others would like to contribute examples that show how to integrate SuiteSparse in other build systems, that might also be nice.