[CMake] An observation about CTest
Convey, Christian J CIV NUWC NWPT
christian.convey at navy.mil
Sun Jun 27 16:45:05 EDT 2010
Hi Eric,
Thanks for all those details. I wasn't aware that CMake drew a distinction between macros and functions. I'll try to have a look at the ML archives.
- Christian
> -----Original Message-----
> From: Eric Noulard [mailto:eric.noulard at gmail.com]
> Sent: Sunday, June 27, 2010 16:42
> To: Convey, Christian J CIV NUWC NWPT
> Cc: alokgovil at hotmail.com; cmake at cmake.org
> Subject: Re: [CMake] An observation about CTest
>
> 2010/6/27 Convey, Christian J CIV NUWC NWPT
> <christian.convey at navy.mil>:
> > I don't expect a lot of support for what I'm about to say,
> but I think it's perhaps worth saying anyway...
> >
> > It seems like CMake's and CTest's have outgrown their
> scripting languages.
> >
> > As far as I can tell, all CMake/CTest variables are either macro
> > formal parameters, or variables in a single global
> namespace. I think
> > one consequence of this is that macro invocations make their
> > contributions primarily by modifying variables in the global
> > namespace. As people discovered in the 1970's and 1980's, the
> > confusion caused by this approach (global variables) can be
> so extensive that it's worthwhile to change coding pracices
> (structured programming, etc.), and possibly to improve the
> base language as well.
>
> I think you should dive into the Mailing List archive because
> there have been several valuable discussion about CMake
> evolution including the "replacement/extension"
> of CMake scripting
> language with "full language" like Lua or Python.
>
> > But even better would be enhancing the CMake scripting language to
> > support local variables in macros, and possible package-scoped
> > variables as well. This clarifies the intended interface
> that certain
> > macro packages are intended to provide, because variables
> intended as implementation details would be in a namespace
> inaccessible to the script that invokes those macros.
>
> CMake is offering scope from a parent/child point of view
> including setting variable for your parent with set(xxxx
> PARENT_SCOPE) this was indeed provided after lengthly ML discussion.
>
> Concerning "local variables" you should have a look at the
> difference between a "MACRO" and a "FUNCTION" this may
> already gives you part of what you want.
>
> Then as far as I can tell CMake scripting is no-where near a
> "must not evolve" language many improvement has been put in
> since I began to use CMake 2.2.x (can't remember X) even the
> introduction of "POLICY" which each backward compatibility.
>
> So I think you may not hope to have ALL what you require in
> CMake after a message on this ML be you will certainly have
> feedback and may be new feature if there is a consensus and
> some proof of concept patch provided.
>
> --
> Erk
> Membre de l'April - « promouvoir et défendre le logiciel
> libre » - http://www.april.org
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5218 bytes
Desc: not available
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100627/89350608/attachment-0001.bin>
More information about the CMake
mailing list