Hi, Command file(GLOB) returns a CMake list (in a CMake list, items are separated by ;)
Now you pass to command string the content of the list, so the list is expanded: in your example, string(REGEX REPLACE "foo.*cc" " " COMPILE_ONLY ${ALL_SOURCES}) Is equivalent to: string(REGEX REPLACE "foo.*cc" " " COMPILE_ONLY a.cc b.cc foo_u.cc foo_v.cc c.cc y.cc) So, command string will concatenate all the input strings in a single string. To keep semi colons, you have to pass ALL_SOURCES as a string, not a list: string(REGEX REPLACE "foo.*cc" " " COMPILE_ONLY “${ALL_SOURCES}") On 22/01/16 12:29, "CMake on behalf of Vania Joloboff" <cmake-boun...@cmake.org on behalf of vania.jolob...@inria.fr> wrote: >Hi > >I want to remove from a list of sources those that start with 'foo' >So I have > >file(GLOB ALL_SOURCES "*.cc") ># this gives ALL_SOURCES = "a.cc;b.cc;foo_u.cc;foo_v.cc;c.cc;y.cc" ># separated by semicolons > >string(REGEX REPLACE "foo.*cc" " " COMPILE_ONLY ${ALL_SOURCES}) > >But in the COMPILE_ONLY variable the semicolons are removed ! >and then >add_library(lib ${COMPILE_ONLY}) fails > >why is it removing the semicolons ? >Vania > >-- > >Powered by www.kitware.com > >Please keep messages on-topic and check the CMake FAQ at: >http://www.cmake.org/Wiki/CMake_FAQ > >Kitware offers various services to support the CMake community. For more >information on each offering, please visit: > >CMake Support: http://cmake.org/cmake/help/support.html >CMake Consulting: http://cmake.org/cmake/help/consulting.html >CMake Training Courses: http://cmake.org/cmake/help/training.html > >Visit other Kitware open-source projects at >http://www.kitware.com/opensource/opensource.html > >Follow this link to subscribe/unsubscribe: >http://public.kitware.com/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake