diff --git a/clang/cmake/caches/CrossWinToARMLinux.cmake b/clang/cmake/caches/CrossWinToARMLinux.cmake index fd341b182fd6..70a5db93a45a 100644 --- a/clang/cmake/caches/CrossWinToARMLinux.cmake +++ b/clang/cmake/caches/CrossWinToARMLinux.cmake @@ -148,6 +148,9 @@ set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_ABI_VERSION set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_CXX_ABI "libcxxabi" CACHE STRING "") #!!! set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS ON CACHE BOOL "") +set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBUNWIND_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS}") +set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXXABI_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS}") +set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS}") find_package(Python3 COMPONENTS Interpreter) @@ -162,11 +165,15 @@ if(DEFINED REMOTE_TEST_HOST) "\\\"${Python3_EXECUTABLE}\\\" \\\"${LLVM_PROJECT_DIR}/llvm/utils/remote-exec.py\\\" --host=${REMOTE_TEST_USER}@${REMOTE_TEST_HOST}" CACHE STRING "") - set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBUNWIND_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS} 'executor=${DEFAULT_TEST_EXECUTOR}'" CACHE STRING "") - set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXXABI_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS} 'executor=${DEFAULT_TEST_EXECUTOR}'" CACHE STRING "") - set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_TEST_PARAMS} 'executor=${DEFAULT_TEST_EXECUTOR}'" CACHE STRING "") + list(APPEND RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBUNWIND_TEST_PARAMS "executor=${DEFAULT_TEST_EXECUTOR}") + list(APPEND RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXXABI_TEST_PARAMS "executor=${DEFAULT_TEST_EXECUTOR}") + list(APPEND RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_TEST_PARAMS "executor=${DEFAULT_TEST_EXECUTOR}") endif() +set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBUNWIND_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBUNWIND_TEST_PARAMS}" CACHE INTERNAL "") +set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXXABI_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXXABI_TEST_PARAMS}" CACHE INTERNAL "") +set(RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_TEST_PARAMS "${RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE}_LIBCXX_TEST_PARAMS}" CACHE INTERNAL "") + set(LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "") set(LLVM_TOOLCHAIN_TOOLS llvm-ar diff --git a/libcxx/test/CMakeLists.txt b/libcxx/test/CMakeLists.txt index 0d5fa6959f17..60a9724a5ffe 100644 --- a/libcxx/test/CMakeLists.txt +++ b/libcxx/test/CMakeLists.txt @@ -39,8 +39,11 @@ if (LLVM_USE_SANITIZER) endif() foreach(param IN LISTS LIBCXX_TEST_PARAMS) - string(REGEX REPLACE "(.+)=(.+)" "\\1" name "${param}") - string(REGEX REPLACE "(.+)=(.+)" "\\2" value "${param}") + string(FIND "${param}" "=" _eq_index) + string(SUBSTRING "${param}" 0 ${_eq_index} name) + string(SUBSTRING "${param}" ${_eq_index} -1 value) + string(SUBSTRING "${value}" 1 -1 value) # strip the leading = + string(REPLACE "\"" "\\\"" value ${value}) # escaping of quotes serialize_lit_param("${name}" "\"${value}\"") endforeach() diff --git a/libcxxabi/test/CMakeLists.txt b/libcxxabi/test/CMakeLists.txt index b65ac3a9d164..3eba32976886 100644 --- a/libcxxabi/test/CMakeLists.txt +++ b/libcxxabi/test/CMakeLists.txt @@ -53,8 +53,11 @@ else() endif() foreach(param IN LISTS LIBCXXABI_TEST_PARAMS) - string(REGEX REPLACE "(.+)=(.+)" "\\1" name "${param}") - string(REGEX REPLACE "(.+)=(.+)" "\\2" value "${param}") + string(FIND "${param}" "=" _eq_index) + string(SUBSTRING "${param}" 0 ${_eq_index} name) + string(SUBSTRING "${param}" ${_eq_index} -1 value) + string(SUBSTRING "${value}" 1 -1 value) # strip the leading = + string(REPLACE "\"" "\\\"" value ${value}) # escaping of quotes serialize_lit_param("${name}" "\"${value}\"") endforeach() diff --git a/libunwind/test/CMakeLists.txt b/libunwind/test/CMakeLists.txt index 084da0ab8f35..5eaf6b4214a7 100644 --- a/libunwind/test/CMakeLists.txt +++ b/libunwind/test/CMakeLists.txt @@ -35,9 +35,14 @@ else() serialize_lit_param(target_triple "\"${LLVM_DEFAULT_TARGET_TRIPLE}\"") endif() +message("+++ LIBUNWIND_TEST_PARAMS:_${LIBUNWIND_TEST_PARAMS}") + foreach(param IN LISTS LIBUNWIND_TEST_PARAMS) - string(REGEX REPLACE "(.+)=(.+)" "\\1" name "${param}") - string(REGEX REPLACE "(.+)=(.+)" "\\2" value "${param}") + string(FIND "${param}" "=" _eq_index) + string(SUBSTRING "${param}" 0 ${_eq_index} name) + string(SUBSTRING "${param}" ${_eq_index} -1 value) + string(SUBSTRING "${value}" 1 -1 value) # strip the leading = + string(REPLACE "\"" "\\\"" value ${value}) serialize_lit_param("${name}" "\"${value}\"") endforeach()