Try to fix WindowsManifest CMake logic on Windows
authorReid Kleckner <rnk@google.com>
Sat, 29 Feb 2020 01:21:50 +0000 (17:21 -0800)
committerReid Kleckner <rnk@google.com>
Sat, 29 Feb 2020 01:24:03 +0000 (17:24 -0800)
CMake is complaining about the "^" regex if the prefixes are empty
strings.

llvm/lib/WindowsManifest/CMakeLists.txt

index 8cfea12..7ccc17a 100644 (file)
@@ -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()