It is what it is.  My position has always been that integrating
everything under CMake would be a tricky process requiring potentially
hundreds of hours to get exactly right on all the platforms we care
about, and the resulting system would likely be more fragile than the
autotools build system.  This is why I advocated keeping the Unix build
system separate.  The bulk of the time I spent on doing the Windows
CMake build system was spent regression testing, and there is no
substitute for that.  I consider the odds quite high that any major
change made in the future to the CMake build system will break at least
one configuration we care about.  CMake has some very esoteric
behaviors, and it's been my experience that often things just simply do
not work as documented, so a good percentage of our CMake code is there
because it was needed to work around something in CMake that was broken.

I can't specifically recall why I used both CMAKE_CL_64 and
CMAKE_SIZEOF_VOID_P, but I have a nagging feeling that it was to work
around something.  I would not change that without verifying that it
doesn't break one of the configurations.  Part of the trickiness on
Windows comes from the fact that CMake has to be able to generate Visual
Studio projects, and when you are generating a Visual Studio project,
the compiler may or may not be accessible from the command line on which
you are running CMake.  I suspect that this is why CMAKE_CL_64 is there.
 CMAKE_SIZEOF_VOID_P has to run the compiler, whereas CMAKE_CL_64
perhaps can detect whether you are using a 64-bit environment in the
Visual Studio IDE.  I am not certain of that, however.

On 3/4/11 10:26 AM, Pierre Ossman wrote:
> On Fri, 04 Mar 2011 09:43:28 -0600
> DRC <dcomman...@users.sourceforge.net> wrote:
> 
>> No, you are misunderstanding how CMake works.  CMAKE_CL_64 is never set
>> except when CMake detects a 64-bit version of CL, the Visual C++
>> compiler.  That variable is not meant to be used to detect a 64-bit
>> version of GCC.
>>
> 
> Well that makes it fairly useless and error-prone. I've seen more than
> a handful of CMake examples and tutorials that portrays it as a
> generic check. Is CMAKE_SIZEOF_VOID_P also uselessly unreliably? (As
> you didn't just check that in your original code)
> 
> Rgds

------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to