Feature #440
closedDon't install convenience libraries
0%
Description
The attached patch "un-DLLs" convenience libraries and always builds them as static libraries. Then they are only installed when building everything as static libraries.
Since users shouldn't directly use libijg8 or libcharls, there is no good reason to install them. However, when building static libs, users have to link them in, so we can't stop installing them in that case.
If no one objects and this patch gets some more testing (I didn't try this on windows and never ran 'make install'), this could be committed.
Files
Updated by Uli Schlachter almost 13 years ago
This would make it more complicated for others to use the DCMTK. They'd have to detect if they are "interacting" with a static or a shared version of the DCMTK and add/remove libs to their link line. Right now they can just always mention all libs (although that's not really optimal).
So I guess in the non-static case this should either install empty, unused libraries under the old names (which is somewhat ugly) or at least mention something in DCMTKConfig.cmake.
Updated by Uli Schlachter over 12 years ago
Always building them as static libs is bad, because static libraries can't be linked into shared libraries on amd64 Linux (missing -fPIC / -fpic). So instead, some magic would need to be done to get rid of the library completely and have it built into the "other" library that uses it.
Updated by Marco Eichelberg over 8 years ago
- Status changed from New to Rejected
As the comments by Uli Schlachter show, the patch introduces more problems rather than solving problems. Won't implement this.