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