[Cmake] Shared library versioning (Take II)

Chris Scharver scharver at evl . uic . edu
Tue, 24 Jun 2003 14:41:33 -0500


At 1:32 PM -0400 on 06/24/2003, Brad King wrote:

>Then the command might look like:
>
><CMAKE_COMMAND> -E library_symlink <TARGET> <TARGET_VERSION_SUFFIX> <TARGET_SOVERSION_SUFFIX>

Does all of this just change the name on the file, or does it actually set a version within the library itself? On Darwin/MacOS X systems, libraries are named differently (eg. libfoo.1.5.4.dylib), but those versions can be embedded directly into the libraries. There are currently some problems with MacOS X VTK libraries because they do not have proper install names embedded into them. (If you build libraries, install them, and then remove the original build tree the installed libraries won't work.) Adding this versioning step to the symbolic linking could at the same time fix the name issue. Either ld or Apple's libtool can be used to handle both in one command. Once changes are merged, I'll take a look at the proper commands to use on the OS X side.

<http://public . kitware . com/pipermail/vtkusers/2003-May/017901 . html> is a brief thread discussing the current problem and workaround. Having CMake set the proper information when compiling the libraries seems like a workable solution.

Chris
--
Chris Scharver
Electronic Visualization Laboratory
The University of Illinois at Chicago
Ph: 312-996-3002   FAX: 312-413-7585
<http://www . evl . uic . edu/scharver/>