On Thu, Jan 20, 2011 at 7:39 AM, Michael Wild <[email protected]> wrote:

> On 01/20/2011 12:10 PM, SF Markus Elfring wrote:
> >> Thanks for your help to make CMake better,
> >
> > Is the command variant "string(REGEX REPLACE ...)" completely documented?
> >
> > Can multiple variables be specified that will receive the data from the
> > evaluation of subexpressions in the passed regular expression?
> >
> > Regards,
> > Markus
>
> AFAIK no, but you can "misuse" if(<string|varname> MATCHES <pattern>)
> for this. It stores the groups in CMAKE_MATCH_<n> where <n> is {0..9}.
> Match 0 is always the whole match of <pattern> and match 1 is the
> contains the first group.
>
> Michael
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>


I think it's the case that the CMAKE_MATCH_* variables are set after *any*
regex matching operation, be it from an "if(... MATCHES ...)" or a
"string(REGEX" or "string(MATCH" command. Let us know if you find that not
to be true.

>From the bottom of (
http://cmake.org/cmake/help/cmake-2-8-docs.html#command:string ) :

  () Saves a matched subexpression, which can be referenced
     in the REGEX REPLACE operation. Additionally it is saved
     by all regular expression-related commands, including
     e.g. if( MATCHES ), in the variables CMAKE_MATCH_(0..9).


HTH,
David
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to