On Thu, Jun 11, 2009 at 5:05 PM, James C. Sutherland < james.sutherl...@utah.edu> wrote:
> > On Jun 11, 2009, at 4:49 PM, James C. Sutherland wrote: > > I have an executable that links with HDF5 (by the way, is there any plan >> to create a "FindHDF5.cmake" file?). >> The problem is that I have two flavors of libraries: >> libhdf5_cpp.a libhdf5.a >> libhdf5_cpp.dylib libhdf5.dylib >> When I do >> set( HDF5_LIBRARIES hdf5_cpp hdf5 ) >> it seems that CMake ends up choosing the *.dylib rather than the *.a >> versions. Is there a way to fix this so that I link statically? >> >> > Well, I tried > set( HDF5_LIBRARIES hdf5_cpp.a hdf5.a ) > and that partly did the job. It appears that somehow some other hdf5 dlls > were being pulled in (hdf5_cpp.0.dylib). > > I would like to generate executables that can be run on other systems, but > the problem is these DLLs are killing me! Any tips would be great. Keep in mind that on Mac the linker will try extremely hard to choose the dylib over the .a lib. The only way I could get them to work properly was to specify the whole file name on the link line that includes the .a, or put the .a libraries in a separate folder and use a special argument to the linker to tell it to do breadth first search when looking for libraries (I don't remember offhand what the argument is, see the man page for the linker). If you are distributing your application on a Mac, then there are myriads of methods to distribute the shared libraries with the application. James
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake