[CMake] Need help with GLOB expression

James Bigler jamesbigler at gmail.com
Sun Mar 29 00:14:35 EDT 2009


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
>


More information about the CMake mailing list