[CMake] cmake for cygwin

Bill Hoffman bill.hoffman at kitware.com
Tue Oct 26 17:53:51 EDT 2010


>> So, I think the only way to fix this is to create a new policy.   The
>> policy will warn all cygwin builds that CMake is no longer defining
>> WIN32 on cygwin.  As with all policies, if a project has the minimum
>> required CMake set to the version of CMake that implements the policy
>> the new behavior will happen.  I know this will not make Yaakov totally
>> happy as CMake based applications will not work unless they bump up the
>> version of CMake they require, but over time all will be well.
>
> Unacceptable, as this still requires changing each package's sources in
> order to set this policy to NEW.  The point is to be able to build
> packages OOTB, today and not years from now.

I just don't see how we can do that without breaking someones hard work. 
  Saying that the code is already broken because it is not how you would 
have liked it is not really that nice.
>
> Furthermore, allowing an option for how CMake should behave on Cygwin is
> asking for trouble, given how many people have misconceptions about
> Cygwin.
>
> I'm trying to make this simple.  The remaining patch has been sitting in
> bug 10122 for months, and this is what the Cygwin community wants.
>
Backwards compatibility may not be important to you, but to CMake it is 
very important.  When a developer chooses to use CMake, I want to 
respect that choice, and work as hard as I can to make sure I don't 
break that code.   CMake has been doing this for 10 years on cygwin, 
wrong or right that is how it has been done.   If there is code that 
builds with CMake on cygwin today, your suggested change will break that 
build.

The patch has been sitting in the bug for months because no one has 
suggested a backwards compatible way of doing this.  I have made several 
offers, but you have rejected them as unacceptable.  Do you have a 
suggestion that will keep existing projects working and work for your 
new projects?

The policy mechanism might not be ideal but in a year or so, all of this 
would go away, and the meantime the patches you have to maintain for 
cygwin ports would become trivial.  The patch would basically have a set 
cmake version at the top.   I thought the command line option was a nice 
compromise.

-Bill



More information about the CMake mailing list