areaDetector / ADCore

The home of the core components of the EPICS areaDetector software. It includes base classes for drivers and code for all of the standard plugins.
https://areadetector.github.io/master/index.html
Other
20 stars 65 forks source link

Fixup build with deb12 #497

Closed mdavidsaver closed 6 months ago

mdavidsaver commented 8 months ago

A couple of somewhat related build fixes.

For my Linux builds I use -fvisibility=hidden -fvisibility-inlines-hidden to catch dllimport/export errors. This is stricter than MSVC. Which is why the lack of NDPLUGIN_API on class NDFileHDF5Dataset has not been fatal so far. However, I think this omission was not intentional, and adding this as a CI check should prevent repeats.

The main issue is that libADTestUtility has no API macros at all. For the time being this can be handled by only linking a static version.

Is ADTestUtility intended for external use?

If not, then eg. changing LIBRARY= to TEST_LIBRARY= will prevent it from being installed. Otherwise, it needs an *API.h and added decorations.

The last change is to omit -DH5_NO_DEPRECATED_SYMBOLS. I think this makes sense for a developer making changes to the HDF5 plugin. For others, it only complicates portability. Also, the comment in the Makefile mentions ubuntu 12.04, which is increasingly historical.