From e441a584f3f7d743ab77031a47d9ad60ee56b53d Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Fri, 28 Feb 2020 17:21:50 -0800 Subject: [PATCH] Try to fix WindowsManifest CMake logic on Windows CMake is complaining about the "^" regex if the prefixes are empty strings. --- llvm/lib/WindowsManifest/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/llvm/lib/WindowsManifest/CMakeLists.txt b/llvm/lib/WindowsManifest/CMakeLists.txt index 8cfea1282ad6..7ccc17ad577d 100644 --- a/llvm/lib/WindowsManifest/CMakeLists.txt +++ b/llvm/lib/WindowsManifest/CMakeLists.txt @@ -9,10 +9,12 @@ if(LIBXML2_LIBRARIES) target_link_libraries(LLVMWindowsManifest PUBLIC ${LIBXML2_LIBRARIES}) get_filename_component(xml2_library ${LIBXML2_LIBRARIES} NAME) - if(xml2_library MATCHES "^${CMAKE_STATIC_LIBRARY_PREFIX}.*${CMAKE_STATIC_LIBRARY_SUFFIX}$") + if (CMAKE_STATIC_LIBRARY_PREFIX AND + xml2_library MATCHES "^${CMAKE_STATIC_LIBRARY_PREFIX}.*${CMAKE_STATIC_LIBRARY_SUFFIX}$") string(REGEX REPLACE "^${CMAKE_STATIC_LIBRARY_PREFIX}" "" xml2_library ${xml2_library}) string(REGEX REPLACE "${CMAKE_STATIC_LIBRARY_SUFFIX}$" "" xml2_library ${xml2_library}) - elseif(xml2_library MATCHES "^${CMAKE_SHARED_LIBRARY_PREFIX}.*${CMAKE_SHARED_LIBRARY_SUFFIX}$") + elseif (CMAKE_SHARED_LIBRARY_PREFIX AND + xml2_library MATCHES "^${CMAKE_SHARED_LIBRARY_PREFIX}.*${CMAKE_SHARED_LIBRARY_SUFFIX}$") string(REGEX REPLACE "^${CMAKE_SHARED_LIBRARY_PREFIX}" "" xml2_library ${xml2_library}) string(REGEX REPLACE "${CMAKE_SHARED_LIBRARY_SUFFIX}$" "" xml2_library ${xml2_library}) endif()