opm-common icon indicating copy to clipboard operation
opm-common copied to clipboard

Get rid of complete list with full paths of libraries in opm-*_LIBRARIES in opm-*-config.cmake

Open blattms opened this issue 3 years ago • 0 comments

In the package configuration files of each opm module we have a list of libraries in opm-_LIBRARIES used for linking. This list also includes the libraries in the respective variable of other modules that we depend on. E.g when configuring with Python there will be a versioned Python library in opm-common_LIBRARIES, e.g. libpython3.9.so, and consequently this will also be in opm-material_LIBRARIES, and so on. This was causing me lots of grey hairs for the Debian packages.

This has consequences: If we change the library the we need to recompile all modules (not just the ones that use Python) to get rid of the dependency on the old one. Otherwise use the module as a DUNE module will fail if that library was removed (That was not obvious and caused release critical bugs)

At least for building shared OPM libraries we could actually omit other shared libraries in this list. The other better option would be to consistently use CMake targets for the libraries used in these variables.

blattms avatar Apr 26 '22 06:04 blattms