Thanks. I'll give this a try. This isn't very intuitive, though. I was hoping for something a little less redundant. Because now I have to do this:
file( GLOB_RECURSE sources "C:\foo\bar\source\*.h" "C:\foo\bar\source\*.ipp" "C:\foo\bar\source\*.hpp" ) It just amazes me that this area of CMake is such a mystery. On Sun, Mar 29, 2009 at 5:18 AM, Martin Costabel <[email protected]>wrote: > The following seems to work: > > file(GLOB_RECURSE sources "*.h" "*.hpp" "*.ipp") > > -- > Martin > > Carlson Daniel 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] <mailto:[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] <mailto:[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] <mailto:[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] <mailto:[email protected]>> >> > wrote: >> >> >> >> try: >> >> >> >> *.(h|hpp|ipp) >> >> >> >> 2009/3/28 Robert Dailey <[email protected] >> <mailto:[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] <mailto:[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
