[cmake-developers] Making kwsys a proper library

Brad King brad.king at kitware.com
Fri Aug 14 10:11:55 EDT 2015


On 08/13/2015 10:36 PM, Orion Poplawski wrote:
> There is concern in Fedora that the kwsys code has become too large to 
> be an acceptable copylib.  However, as cmake is constructed at the 
> moment it would be a huge undertaking for the Fedora packagers (mostly 
> me) to remove it downstream.  So I'm asking if there is any support 
> upstream for making kwsys a proper library?

KWSys is a copylib by design.  Each project using it configures the
library with a different namespace/prefix, can enable different
subsets of the library, and can choose some behavior toggles.  Some
projects maintain local patches to their copy of KWSys that are
good enough for themselves but not for upstream.  KWSys cannot be
shared by multiple such clients as a single library and should
*never be distributed as a packaged binary*.

If each of Kitware's projects using KWSys maintained the code
separately under different hard-coded names (cmsys, vtksys, itksys,
etc.) then no one would be expecting it to be a separate library.
The shared KWSys source helps share maintenance among these projects
while still each getting a custom library that never conflicts with
the others.

-Brad



More information about the cmake-developers mailing list