Consider this line of CMake code:
string(REGEX REPLACE "^([^.]*)(\..*)?$" "\1" BAR "${FOO}")It looks reasonable to me, and works fine on !Windows. However, on Windows, I get these errors:
Syntax error in cmake code at <elided> when parsing string ^([^.]*)(\..*)?$ Invalid escape sequence \. Syntax error in cmake code at <elided> when parsing string \1 Invalid escape sequence \1Is this expected? The documentation doesn't seem to explicitly mention replacement placeholders, but they are implicitly mentioned when talking about () capturing.
Also, I can use "^([^.]*)([.].*)?$" instead to get around the first error, but then I get an error that the capture is empty. (It shouldn't be; "${FOO}" is non-empty and the pattern is guaranteed to have a non-ambiguous match for non-empty input.)
-- Matthew -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
