diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in --- a/llvm/cmake/modules/LLVMConfig.cmake.in +++ b/llvm/cmake/modules/LLVMConfig.cmake.in @@ -75,7 +75,7 @@ set(LLVM_ENABLE_ZSTD @LLVM_ENABLE_ZSTD@) if(LLVM_ENABLE_ZSTD) - set(zstd_ROOT @zstd_ROOT@) + set(zstd_DIR @zstd_DIR@) find_package(zstd) endif() diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt --- a/llvm/lib/Support/CMakeLists.txt +++ b/llvm/lib/Support/CMakeLists.txt @@ -22,7 +22,7 @@ endif() if(LLVM_ENABLE_ZLIB) - set(imported_libs ZLIB::ZLIB) + list(APPEND imported_libs ZLIB::ZLIB) endif() if(LLVM_ENABLE_ZSTD) @@ -305,6 +305,7 @@ if(NOT zstd_library) get_property(zstd_library TARGET zstd::libzstd_shared PROPERTY LOCATION) endif() + get_library_name(${zstd_library} zstd_library) set(llvm_system_libs ${llvm_system_libs} "${zstd_library}") endif() diff --git a/llvm/tools/llvm-config/CMakeLists.txt b/llvm/tools/llvm-config/CMakeLists.txt --- a/llvm/tools/llvm-config/CMakeLists.txt +++ b/llvm/tools/llvm-config/CMakeLists.txt @@ -17,9 +17,14 @@ # Compute the substitution values for various items. get_property(SUPPORT_SYSTEM_LIBS TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS) get_property(WINDOWSMANIFEST_SYSTEM_LIBS TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS) + foreach(l ${SUPPORT_SYSTEM_LIBS} ${WINDOWSMANIFEST_SYSTEM_LIBS}) if(MSVC) - set(SYSTEM_LIBS ${SYSTEM_LIBS} "${l}.lib") + if(IS_ABSOLUTE ${l}) + set(SYSTEM_LIBS ${SYSTEM_LIBS} "${l}") + else() + set(SYSTEM_LIBS ${SYSTEM_LIBS} "${l}.lib") + endif() else() if (l MATCHES "^-") # If it's an option, pass it without changes. @@ -34,6 +39,7 @@ endif() endif() endforeach() + string(REPLACE ";" " " SYSTEM_LIBS "${SYSTEM_LIBS}") # Fetch target specific compile options, e.g. RTTI option