new cmake macro available (starting monday): MACRO_APPEND_IF()
Matt Williams
matt at milliams.com
Sun Dec 16 14:09:55 GMT 2007
On Sunday 16 December 2007 13:29:06 Alexander Neundorf wrote:
> Hi,
>
> I added a new macro MACRO_APPEND_IF(var condition value1..valueN) to
> kdelibs.
>
> Typical use is like this, instead of:
>
> if(SOMETHING_FOUND)
> set(mySrcs ${mySrcs} file1.cpp file2.cpp)
> endif(SOMETHING_FOUND)
>
> you can now do:
>
> macro_append_if(mySrcs SOMETHING_FOUND file1.cpp file2.cpp)
>
> I am not sure about the following things and like to get some comments on
> them:
>
> -the order of the arguments: keep it as is (first list variable, then
> condition) or exchange these two ?
I think that macro_append_if(SOMETHING_FOUND mySrcs file1.cpp file2.cpp) is
better since it more clearly shows the link between the 'if' and
the 'SOMETHING_FOUND'. Also, it more closely follows the order in which the
variables are used in the old, verbose version (first do the
if(SOMETHING_FOUND), then say mySrcs += file1.cpp...).
> -the macro always appends as list, not as string, but this is not really
> obvious from the name. OTOH until now I never needed a macro like this for
> appending something to strings, I always needed it for lists (of source
> files, libraries etc.)
>
> -a different name could be macro_optional_append(), which is a bit more
> typing, but would it be better ?
I think making it clear that it's a sort of if() statement is more clear to
the user.
> Bye
> Alex
More information about the kde-core-devel
mailing list