On 9/25/2011 8:54 PM, Albert Chin wrote:
It is listed as "static" because cmake always uses a path/to/libmodman.sl when invoking the linker.
CMake prior to 2.6 always used the -L and -l split. That led to endless problems with search path ordering, static v. shared searches, etc. that made it very hard to ensure use of the proper library. Starting in 2.6 we always use the full path except in a few special cases. Since then we have been unaware of this behavior on HP. We really need a way to hand the linker a full path to use a specific library without causing that path to end up in the binary. This works on all other platforms AFAIK. What if one uses -l:/path/to/libfoo.sl instead of just /path/to/libfoo.sl ?
What we need to do to accomplish that: When relinking, currently cmake relinks libraries and executables prior to installing them. This accomplishes nothing on HP-UX, to change the path, the libraries must be found in the install directory.
How can that possibly work with DESTDIR installations? How can HP tools ever produce relocatable binaries? Is -L -l the only way?
How can we change so that relinking happens after install, and replaces the installed shared libraries and executables? I have no idea which source files to even begin looking in.
That would require major overhaul of the internals to achieve. Since we support installation of one binary to multiple locations it is not even a well-defined problem. -Brad -- 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