Resolve "(core): dynamic loading of libraries should look for the filename with the version extension"
requested to merge 788-core-dynamic-loading-of-libraries-should-look-for-the-filename-with-the-version-extension into dev
Description
On a regular Linux system, libraries are installed with the version in the extension, like libsight_core.so.21.0
. The symlink without the version in the extension is only present if the development package is installed. Thus we can not rely on this symlink to load the library like we did since Sight 21.0.
This MR switches back to the old way, looking for a file name that matches the library name. A cache has been added to avoid the cost of iterating over all library files each time.
Closes #788 (closed)
How to test it?
To put your local build in the same layout than an installed Linux system:
- Build Tuto01Basic
- Remove all symlinks in the
lib/
folder of your local build - Run Tuto01Basic