Brandon Van Every escreveu:
I can't call set(var value) "ugly". I can call it slightly verbose, as opposed to var=value.
Ugliness is highly subjective. I'm handsome, by the way :)
It is boring precisely because it is *not* error prone. It is a way of ensuring against errors. If you haven't got your if..else..endif conditionals matched up, your code dies. Usually with an error message... sometimes though, it seems to die silently when invoked by a shell. That could be handled better. But the principal of forcing conditional matching is a reasonable idea in a build system, I think.
When I say error-prone, I mean that, specially in long if clauses, I have to copy/paste the condition along the way. If I decide to change it, I have to remember to change all other occurrences. I think that correctly indented code is the best tool one can have against mismatched if/endif's. And IF (no pun intended) the if's body is long, a little comment on its endif clause would suffice to indicate where it's from. The language should not force me to do that. The worst case scenario is an if with an one line body and a long condition! That's why all my macros assume that CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS is true.
I rarely use 'break' even in C code.
I did once, and had to use a variable to control whether I should execute the loop's body or not. That's ugly, and this time not subjective.
nearly everything. We're nowhere near that endgame, and with CMake's current infrastructure, we're at no risk of ever being in such a lofty place. So, I feel comfortable saying that CMake will remain Yet Another Scripting Language.
As this discussion evolves, I feel more and more that the time has passed to make huge infrastructure changes without changing the syntax.
Previously I asked if there's something CMake script can never do. I will say 1 such thing: it will *never* gain mindshare. CMake itself may gain plenty of mindshare as a build tool. But CMake script will never do so. It is incapable of that. It is not recognized by the computer industry as an important development language, and it never will be.
Well, that's a little bit harsh. Once upon a time Lisp was popular, with all those parenthesis. I cannot assure that cmake WON'T gain mindshare simply because the cmake solution as a whole is better than any other build system that I know of. It'll only be in bad waters when another contender appears, supporting all features we've being talking about. But then, I might be wrong, Cmake could be so widespread that its 'kingdom' won't be shaken.
Regards, rod _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
