[CMake] cmake for cygwin

Yaakov (Cygwin/X) yselkowitz at users.sourceforge.net
Thu Oct 28 13:49:16 EDT 2010


On Thu, 2010-10-28 at 09:39 -0400, Marcus D. Hanwell wrote:
> It seems that the policy based approach would have allowed you a one
> line patch to most packages (changing the policy to NEW).

Look at this from the POV of a packager: even a one-line patch adds up
quickly when you talk about hundreds of packages.  It means that almost
no CMake-based package can be built OOTB, which tells you something is
wrong.

Secondly, using a policy essentially gives each author a "say" in
defining how Cygwin should operate.  Can you name another platform where
non-users dictate to users and packagers how their platform should be
defined, against their wishes?

We see the defining of WIN32 on Cygwin as a *bug*, not a feature, and it
needs to be fixed outright.  The few low-level similarities between
WIN32 and CYGWIN could be handled with a set of PE/ELF/MACHO
conditionals.

> I work with people who have specifically worked on getting their project
> to build in Cygwin, and it sounds like this change would require them to
> change their project after CMake is updated. That sounds bad, and is the
> whole reason that CMake policies were introduced - to allow CMake to
> fix old behavior without breaking packages that rely upon said
> behavior (until they are ready to port).

While we cannot look at every CMake-based package, between us we have
seen quite a few (I've built around 140 myself with my patched CMake),
and overall, undefining WIN32 is the *much* easier route to achieve the
desired result today.

> All of my packaging experience was voluntary too, and it can be a
> thankless task. I just always preferred to work with upstreams as much
> as possible when packaging. My comments were more directed at you
> coming from someone who has had many years of experience packaging for
> a Linux distribution - largely dealing with CMake projects such as
> KDE.

I have packaged KDE as well (in addition to GNOME, GNUstep, LXDE, ROX,
Xfce, X.Org, GNU Classpath Java, Lua, PHP, Python, Tcl...) and I can
assure you that I look at this from the *big* picture.


Yaakov
Cygwin Ports




More information about the CMake mailing list