On 10/16/2011 02:56 PM, Richard Wackerbarth wrote:
On Oct 16, 2011, at 6:54 AM, Stephen Kelly wrote:
Having so many old platforms and compilers on the dashboard going red with
failure
So, I think I'm talking about two separate issues. One is whether failures
on platforms I don't care about are my responsibility, and the other is
ensuring that unit tests fail when something breaks.
Steve,

This is the "backward compatibility" issue that plagues all projects.
Since CMake is a development tool, you have to consider its audience.

Suppose you generate some "wiz-bang" new feature that only works when the 
generator is for the clang compiler and using Xcode.
You decide "It's too much trouble to support Visual Studio" or the gcc 4.0 
compiler."

Now as a package developer, I have to choose from the following options:
1) Drop my support for platforms that your feature doesn't support,
2) Avoid using the "wiz-bang" feature, or
3) Avoid CMake entirely

The problem is that I was happy with the feature set of CMake 2.4 and don't "need" 
"wiz-bang".
A POLICY can provide notice that "the wiz-bang feature is not supported on this 
platform".
But CMake still has to support "the old way".

Adding features that are not supported on ALL supported platforms reduces the 
utility of CMake as a viable cross-platform tool.

Adding unsupported features really confuses the definition of CMake. At some point, we 
should "bite the bullet", freeze the feature set of CMake and start  a new 
CMake2 project. In doing so, we can drop all support for certain platforms and the need 
to support backward compatibility. But, within each version of the product, all of its 
features need to work on all platforms supported by the product.

I think that it is YOUR responsibility to make any new feature work on all 
supported platforms.
If you cannot support some particular platform, you can petition the CMake 
community to drop support for certain platforms. But it should not be your 
unilateral choice to do so.

Richard

Hi Richard,

I'm trying to find a solution to an issue I perceive about unit tests not counting for much if we only run them when they are testably already working.

There may be other ways to make that work, but your response indicates that you strongly think what I proposed is the wrong approach. You might be right, I don't know.

I came up with this proposal after looking at the Qt approach to platform support -- They define reference platforms, and if others want to make Qt work on WinCE for example, they can do that work and be the experts in it. I don't mean to say that what Qt does will automatically work for CMake (unlikely in fact). I'm trying to explore options.

All the best,

Steve.

PS, please subscribe to the cmake-developers mailing list. I think your mails are being held in moderation. At least they don't appear on gmane: http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/2023 (also your previous mails never made it to the list)

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to