Rework the instrumentation library
PARCOACH depends on LLVM but does not depend on a specific version of MPI. The instrumentation part of PARCOACH does not depend on LLVM, and works only with a specific version of MPI (ie: we can't build the lib with OpenMPI and hope it will work with MPICH).
It could be interesting to split the project in two separated component:
- The Analysis/Instrumentation part
- The library part
We could build several versions of the library in the CI with various versions of MPI, and release a single version of PARCOACH with multiple flavors of the instrumentation lib.
As far as cmake is concerned it could be two separated projects:
- when testing the "release" it would be easy to find the library and PARCOACH in the tests
- when testing as a developer it would be easy to leverage CMake's ExternalProject to integrate the library build within the development process.