Ah, yes.  I also was getting globbing expressions and regular
expressions mixed up.

>From the docs (and experimentation), it looks like CMake only supports
*, ?, and [], but not {} which would be required to do what we want:

file(GLOB_RECURSE sources "*.{h,cpp}")

James

On Sun, Mar 29, 2009 at 2:21 AM, Carlson Daniel
<[email protected]> wrote:
> Ok, I thought that Cmake supported the standard regular expression used by
> most GNU projects. The |-sign is an or-operator so the standard regular
> expression for this would be:
>
> ^.*\.(h|hpp|ipp)$
>
> but now I realize that global expression and regular expression is not the
> same thing... Sorry for that!
>
> 2009/3/29 Robert Dailey <[email protected]>
>>
>> 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 <[email protected]>
>> 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 <[email protected]>
>>> 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
>>> > <[email protected]>
>>> > wrote:
>>> >>
>>> >> try:
>>> >>
>>> >> *.(h|hpp|ipp)
>>> >>
>>> >> 2009/3/28 Robert Dailey <[email protected]>
>>> >>>
>>> >>> 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 <[email protected]>
>>> >>> 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
>>
>>
>> _______________________________________________
>> 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

Reply via email to