Hi Ken,

2.Closing statements need and empty () [at least they don't need to
duplicate the expressions any more].

Technically I believe this is possible. It has been asked for in the past.
Just a change to the yacc IIRC. I tend to not mind () personally.

It has to be more or less as easy as that.

7.It has no functions (implemented in the script itself I meant) [macros
are
not the same]

2.6 has functions

Cool!

12.It has no scope.

Well directories have scope

Which is way too astreay for my taste.
One wonders: is there a file-level unit of scope? what are the rules? what if I use "include" instead of "add_subdirectory". Can I load a module with that same local scope?

IMO the "add_subdirectory" command is itself half-cooked, I would have preferred a better thought out modules design.

 and always have, now functions do as well. There
is no midstream push/pop scope ala "{" "}" but you can just make a function.

Ya, that's not big deal.

There is also some object scope supported through the use of properties on
targets/source files/directories/tests/etc.

Which means that is some concept of "objects" in Cmake, but they are a bit like those of old VB in the sense that the only objects are those hard coded in the system.

16.Least but not least: the language is extensible but not in the user
side.
That is, I cannot *plugin* (entirely at the user side) my own "internal"
functions even though the underlying system is quite extensible.

You can define your own commands and even override the default commands from
the script level.

Ya, but you need a special script command to invoke it,
I mean the hability to define actual commands because the underlying C++ framework is quite flexible.

You can also use the C plugin API to dynamically compile and load a run time
plugin.

This one I didn't knew about.

 We discourage this as it is more prone to errors (user running a
32bit CMake but building a 64 bit executable tries to dynamically load a 64
bit module into a running 32 bit cmake, etc, etc)

That should just blow up in the users face.. so he wil just go ahead and correct it.
Again, trust the programmer :)

This could be fixed by
running the plugin in a separate process etc but I'm just not sure we really
want to expose/encourage that low level of an API.

I don't think you need to do that, just let it break.

Best


--
Fernando Cacciola
SciSoft
http://fcacciola.50webs.com
http://groups.google.com/group/cppba



_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to