Squashed 'third_party/eigen/' content from commit 61d72f6
Change-Id: Iccc90fa0b55ab44037f018046d2fcffd90d9d025
git-subtree-dir: third_party/eigen
git-subtree-split: 61d72f6383cfa842868c53e30e087b0258177257
diff --git a/cmake/RegexUtils.cmake b/cmake/RegexUtils.cmake
new file mode 100644
index 0000000..b59dfc3
--- /dev/null
+++ b/cmake/RegexUtils.cmake
@@ -0,0 +1,19 @@
+function(escape_string_as_regex _str_out _str_in)
+ STRING(REGEX REPLACE "\\\\" "\\\\\\\\" FILETEST2 "${_str_in}")
+ STRING(REGEX REPLACE "([.$+*?|-])" "\\\\\\1" FILETEST2 "${FILETEST2}")
+ STRING(REGEX REPLACE "\\^" "\\\\^" FILETEST2 "${FILETEST2}")
+ STRING(REGEX REPLACE "\\(" "\\\\(" FILETEST2 "${FILETEST2}")
+ STRING(REGEX REPLACE "\\)" "\\\\)" FILETEST2 "${FILETEST2}")
+ STRING(REGEX REPLACE "\\[" "\\\\[" FILETEST2 "${FILETEST2}")
+ STRING(REGEX REPLACE "\\]" "\\\\]" FILETEST2 "${FILETEST2}")
+ SET(${_str_out} "${FILETEST2}" PARENT_SCOPE)
+endfunction()
+
+function(test_escape_string_as_regex)
+ SET(test1 "\\.^$-+*()[]?|")
+ escape_string_as_regex(test2 "${test1}")
+ SET(testRef "\\\\\\.\\^\\$\\-\\+\\*\\(\\)\\[\\]\\?\\|")
+ if(NOT test2 STREQUAL testRef)
+ message("Error in the escape_string_for_regex function : \n ${test1} was escaped as ${test2}, should be ${testRef}")
+ endif(NOT test2 STREQUAL testRef)
+endfunction()
\ No newline at end of file