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