[CMake] elseif request

Brandon J. Van Every bvanevery at gmail.com
Mon Sep 18 22:40:25 EDT 2006


Alan W. Irwin wrote:
> On 2006-09-17 20:27-0700 Brandon J. Van Every wrote:
>
> ... some rhetorical questions trying to convince me (and I guess
> others) that I should not use CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS.

I just don't think you value the social build engineering aspects of 
this particular language design problem.  You're a solo engineer who 
assumes he knows what he's doing.

>
> Regardless of such argumentation, the basic point remains,
> CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS is already in the CMake code, and 
> that is
> an option that some CMake users like to use while others do not. It is
> really just a personal choice.

At one extreme of language design, Java eliminates as many choices from 
the programmer as it can.  In this respect it is the almost ideal 
corporate monkey widget language.  Attitudes about choice aren't the 
sole province of language design, either.  The issue infects all aspects 
of computerdom.  Look at what junk PCs are, for instance.  Culturally, 
Unix and Windows programmers differ greatly, on average, about whether 
there should be lotsa choices or few choices for things.

>
> Thus, there is nothing much to fight about on this issue, and it is 
> time to
> turn back to the principal topic which is whether "elseif" should be
> implemented for CMake or not.

People either value safety or they value brevity.  You can't have your 
cake and eat it too on this one.  Whether it gets implemented, is going 
to be some combo of whether Kitware perceives that people want this, and 
whether the implementation is straightforward or a PITA for little value 
add.

For my part, I think IF(COND) .. ELSE(COND) .. ENDIF(COND) is one of the 
better ideas in the CMake build language.  I don't see "well every other 
language has it" as a valid argument.  "It's more convenient" is a valid 
argument, but it's also less safe.  That's the trade.


Cheers,
Brandon Van Every



More information about the CMake mailing list