From 1c7ee616a25196315ff0f669fbcd48c8ab3cd00e Mon Sep 17 00:00:00 2001 From: Wojciech Nawrocki Date: Wed, 13 Feb 2019 18:34:23 +0000 Subject: [PATCH] fix(src/CMakeLists): sanitize regex --- src/CMakeLists.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 882898686f..01602b8860 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -475,8 +475,17 @@ file(GLOB_RECURSE LEAN_SOURCES "${LEAN_SOURCE_DIR}" "${LEAN_SOURCE_DIR}/[A-Za-z]*.cpp" "${LEAN_SOURCE_DIR}/[A-Za-z]*.h") + +function(escape_regex OUT_NAME INPUT) + foreach(CHAR IN ITEMS ^ $ . [ ] - + * \( \) ) + string(REPLACE "${CHAR}" "\\${CHAR}" INPUT ${INPUT}) + endforeach(CHAR) + set(${OUT_NAME} ${INPUT} PARENT_SCOPE) +endfunction() +escape_regex(LEAN_SOURCE_DIR_REGEX_SAFE ${LEAN_SOURCE_DIR}) + foreach(SOURCE ${LEAN_SOURCES}) - if(${SOURCE} MATCHES "${LEAN_SOURCE_DIR}/boot/.*") + if(${SOURCE} MATCHES "${LEAN_SOURCE_DIR_REGEX_SAFE}/boot/.*") LIST(REMOVE_ITEM LEAN_SOURCES ${SOURCE}) endif() endforeach()