-
-
Notifications
You must be signed in to change notification settings - Fork 246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HDF5_LIB_INFIX doesn't work with DLL #4440
Comments
Maybe CMake targets in hdf5 should hardcode DEFINE_SYMBOL property for shared libraries so that it doesn't depend on target name? |
The problem seems to be that the addition of HDF5_LIB_INFIX should not have modified target names and instead only changed file names. |
Looking at the code, just moving the HDF5_LIB_INFIX from the CORENAME defines to the LIB_NAME defines would solve the problem. |
The PackageConfig uses of CORENAME would likely need to be changed to use the LIB_NAME defines as well |
Closed by #4500 |
Describe the bug
I want to be able to change name of generated dll files. I saw that there is HDF5_LIB_INFIX. But it seems that it doesn't work properly with dynamic libraries. Name of cmake target is changed so the name of preprocessor definition that is injected automatically by CMake is also changed. But hdf5 code still expects old names. Example:
I've used HDF5_LIB_INFIX=_1.14.3.
CMake changed name of project to
hdf5_1.14.3-shared
and injectedhdf5_1_14_3_shared_EXPORTS
hdf5/src/H5api_adpt.h
Line 23 in 0ce1a96
This leads to lots of errors
Expected behavior
There are no errors, dll has different name.
Platform (please complete the following information)
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: