[CMake] Need help with GLOB expression

Robert Dailey rcdailey at gmail.com
Sun Mar 29 01:35:07 EDT 2009


I would prefer it just work. For large directory hierarchies, running the
glob twice is severely inefficient.
Thanks for the link to the documentation. Can anyone figure out a way to
glob for H, HPP, and IPP files in a single glob operation? Is it even
possible? I'd be really disappointed it it wasn't.

On Sat, Mar 28, 2009 at 11:14 PM, James Bigler <jamesbigler at gmail.com>wrote:

> The regular expression syntax is documented under the 'string' command
> in the help files.  There's also a wiki entry:
>
> http://vtk.org/Wiki/CMake_FAQ#Which_regular_expressions_are_supported_by_CMake.3F
>
> I couldn't get file(GLOB_RECURSE sources "*.(h|cpp)") to work.  "*.h"
> would catch all the h files, "*.cpp" would catch all the cpp files,
> but the expression above didn't catch both.
>
> Robert, if the regular expression doesn't work for you, you could
> always just run the command twice and concatenate the results:
> file(GLOB_RECURSE h_files "*.h")
> file(GLOB_RECURSE hpp_ipp_files "*.[hi]pp")
> set(files "${h_files}" "${hpp_ipp_files}")
>
> James
>
> On Sat, Mar 28, 2009 at 6:09 PM, Robert Dailey <rcdailey at gmail.com> wrote:
> > Thank you.
> > For future reference, is the glob syntax for CMake documented anywhere?
> If
> > it is, I have not been able to find it. Thanks again!
> >
> > On Sat, Mar 28, 2009 at 4:51 PM, Carlson Daniel <
> daniel.c.carlson at gmail.com>
> > wrote:
> >>
> >> try:
> >>
> >> *.(h|hpp|ipp)
> >>
> >> 2009/3/28 Robert Dailey <rcdailey at gmail.com>
> >>>
> >>> Can I get some help with this? Sorry to rush, but I'm a bit blocked. I
> >>> know some of you may be tempted to ask my why I'm doing this and
> possibly
> >>> even try to change my mind, but with all do respect, I don't plan to
> avoid
> >>> globbing :)
> >>>
> >>> On Fri, Mar 27, 2009 at 7:07 PM, Robert Dailey <rcdailey at gmail.com>
> >>> wrote:
> >>>>
> >>>> I need to create a glob expression (For file( GLOB_RECURSE ) ) that
> will
> >>>> find files with the following extensions:
> >>>> *.h
> >>>> *.hpp
> >>>> *.ipp
> >>>> How can I format my glob expression to do this? I know for HPP and IPP
> >>>> files, my glob expression would be:
> >>>> *.[hi]pp
> >>>> However, this ignores all H files.
> >>>
> >>> _______________________________________________
> >>> 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
> >>
> >
> >
> > _______________________________________________
> > 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
> >
> _______________________________________________
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090329/741366c5/attachment-0001.htm>


More information about the CMake mailing list