On 02/10/2011 01:52 PM, David Cole wrote:
> On Thu, Feb 10, 2011 at 2:50 AM, Robert Bielik 
> <robert.bie...@xponaut.se>wrote:
> Michael Wild skrev 2011-02-09 16:48:
> 
>>
>>  what about this:
>>>
>>> file(GLOB_RECURSE glob_results "/some/pattern*")
>>> set(dirs)
>>> foreach(f IN LISTS glob_results)
>>>   get_filename_component(d "${f}" PATH)
>>>   list(APPEND dirs "${d}")
>>> endforeach()
>>> list(REMOVE_DUPLICATES dirs)
>>>
>>
>> Yeah, works fine but it seems to be a lot slower than using the nested
>> file(GLOB...) macro approach, but I don't know why.
>>
> 
> 
> Probably because there are thousands of files, but only tens of directories.
> Bang! 100x slower.
> 

But the other macro also touches every file and directory and is even
recursive. I think the real cost is in the list(REMOVE_DUPLICATES) call.

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

Reply via email to