| Author | Topic |
Posts: 122
Registered: February 2010
|
|
Re: CMake installation of 3rd party libs
|
15 May '12 22:46

|
 |
|
>> you could of course easily link against static libraries to avoid the problem (and make it easier for the people using the library later on).
>
> That would do it. Will libsbmls CMake UI allow me to pass a static 3rd party libxml2 lib?
>
It will of course! Remember that if you do so you also will have to link against static instances of iconv and zlib. You can specify them under the cmake flag EXTRA_LIBS as semicolon separated list of all the libs you would have liked linked in.
>> Apart from that the fact is simply that cmake would not automatically know where you have the DLLs to your library import files. So we would have to let the user specify another set of files he would like to copy to the binary folder. But it would be hard to check whether the DLL you specified really is the one for the library import file. So all in all you would not get total safety that way.
>
> Right, this is a shady area I guess. What I have seen in other Cmake systems is that the user gives a 'location' of a 3rd party install, e.g. the location specified in the CMake UI, by the user, of libxml could be /somepath/dependendecies and then it is assumed the header is in a include folder, libs are in lib and dll's are in a bin folder (default could be libsmlSourceFolder/dependencies). That require some 'best practices' that may not be agreed to by all, however.
>
We've experimented with precisely that, if you set the flag LIBSBML_DEPENDENCY_DIR with subfolders bin / lib / include, it will be searched for dependencies and on windows it will copy whatever dlls are in the bin folder into the bin install dir. However, as indicated before it might not always work. And so we decided to use static versions of the dependencies for our installers.
>> If you think it is a vital set of options to have, I don't mind adding it.
>
>
> No need, I'll post a question to Cmake group to see if there is any 'best' practice to handle things like this. I guess adding an option to RoadRunner's Cmake system (which this is about), to install libsbml's dependencies would work too.
>
I would recommend you use a static set of dependencies.
Cheers
Frank
____________________________________________________________
To manage your sbml-interoperability list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/sbml-interoperability
For a web interface to the sbml-interoperability mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the sbml-interoperability list,
contact sbml-team@caltech.edu
|
|
|