Remove Unnecessary Amesos2 dependence on Amesos
Created by: jwillenbring
Currently Amesos2 depends on Amesos, only because it needs SuiteSparse, which is currently located in Trilinos/packages/amesos/src/SuiteSparse. It has been determined that SuiteSparse should be moved to Trilinos/packages/common/auxiliarySoftware and setup as a TriBITS package in that location. Amesos and Amesos2 would then have dependencies on SuiteSparse, but Amesos2 would no longer depend on Amesos. This would make Trilinos more usable for users who wish to use Amesos2, but have no need for the old Epetra stack of Trilinos. These changes will also lay the foundation for additional work to add new solver interfaces to Amesos2.
Here are the steps required to accomplish this:
- Move SuiteSparse to Trilinos/packages/common/auxiliarySoftware/SuiteSparse
- Make the necessary TriBITS changes to set SuiteSparse up as a package (including adding it to the top-level list of packages with a comment saying this is auxiliary software).
- Make the TriBITS changes necessary to Amesos to reflect the removal of SuiteSparse from its directory structure.
- Remove the Amesos2 dependence on Amesos.
- Make the TriBITS changes necessary to Amesos and Amesos2 to add dependencies on SuiteSparse (see package/cmake/Dependencies.cmake).
- Test all changes. (Incremental changes may also make sense, but definitely need to test here.)
- Issue a pull request. Mention @srajama1 in the pull request.
@srajama1 Did I forget anything? Are there any particular options that should be used when building Trilinos to test this to enable certain parts of Amesos2?