[CMake] Regular Expression weirdness (2.6 & 2.8RC3)
Hi, In the folder "Spatial" there are multiple files. Among them are the following: cspacedefconfig.h cspacedef.h cspacediscr.h cspacediscrconfig.h Executing the following commands: FILE(GLOB SPATIAL_HDR1 "Spatial/csp*[^config].h") FILE(GLOB SPATIAL_HDR2 "Spatial/csp*.h") MESSAGE(STATUS ${SPATIAL_HDR1}) MESSAGE(STATUS ${SPATIAL_HDR2}) The first Message only outputs cspacediscr.h (and NOT cspacedef.h). The second Message does output cspacedef.h (and also the rest of the files). Why does the first message not output cspacedef.h? The problem occured with CMake 2.6, but I just tried out 2.8RC3 and I get the same results Regards, Luis ___ 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
Re: [CMake] Regular Expression weirdness (2.6 & 2.8RC3)
Hi Luis, The way I'm reading the globbing expression -- which is not identical to a regex, BTW -- the output makes perfect sense. In HDR1 you collect all filenames that start with 'Spatial/csp'; then contain zero or more wildcard characters; then the last character before the dot should *not* be any of the characters 'c', 'o', 'n', 'f', 'i', or 'g'; finally the name should end in '.h'. So, HDR1 does not contain cspacedef.h because the last character before the '.h' is an 'f', which is one of the "forbidden" characters in the glob expression. HTH, Marcel Loose. On Tue, 2009-10-27 at 23:55 +0100, L.M. de Vries wrote: > Hi, > > In the folder "Spatial" there are multiple files. Among them are the > following: > > cspacedefconfig.h > cspacedef.h > cspacediscr.h > cspacediscrconfig.h > > Executing the following commands: > > FILE(GLOB SPATIAL_HDR1 "Spatial/csp*[^config].h") > FILE(GLOB SPATIAL_HDR2 "Spatial/csp*.h") > > MESSAGE(STATUS ${SPATIAL_HDR1}) > MESSAGE(STATUS ${SPATIAL_HDR2}) > > The first Message only outputs cspacediscr.h (and NOT cspacedef.h). > The second Message does output cspacedef.h (and also the rest of the files). > Why does the first message not output cspacedef.h? > > The problem occured with CMake 2.6, but I just tried out 2.8RC3 and I > get the same results > > Regards, > > Luis > ___ > 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
Re: [CMake] Regular Expression weirdness (2.6 & 2.8RC3)
Ah yes, you are right. Thanks for explaining...and sorry for noise. :-) Greetings, LM Marcel Loose wrote: Hi Luis, The way I'm reading the globbing expression -- which is not identical to a regex, BTW -- the output makes perfect sense. In HDR1 you collect all filenames that start with 'Spatial/csp'; then contain zero or more wildcard characters; then the last character before the dot should *not* be any of the characters 'c', 'o', 'n', 'f', 'i', or 'g'; finally the name should end in '.h'. So, HDR1 does not contain cspacedef.h because the last character before the '.h' is an 'f', which is one of the "forbidden" characters in the glob expression. HTH, Marcel Loose. ___ 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