Index: llvm/cmake/modules/Findzstd.cmake =================================================================== --- llvm/cmake/modules/Findzstd.cmake +++ llvm/cmake/modules/Findzstd.cmake @@ -11,10 +11,8 @@ # zstd::libzstd_static if(MSVC) - set(zstd_SHARED_LIBRARY_SUFFIX "\\${CMAKE_LINK_LIBRARY_SUFFIX}$") set(zstd_STATIC_LIBRARY_SUFFIX "_static\\${CMAKE_STATIC_LIBRARY_SUFFIX}$") else() - set(zstd_SHARED_LIBRARY_SUFFIX "\\${CMAKE_SHARED_LIBRARY_SUFFIX}$") set(zstd_STATIC_LIBRARY_SUFFIX "\\${CMAKE_STATIC_LIBRARY_SUFFIX}$") endif() @@ -31,28 +29,29 @@ ) if(zstd_FOUND) - if(zstd_LIBRARY MATCHES "${zstd_SHARED_LIBRARY_SUFFIX}$" AND - NOT TARGET zstd::libzstd_shared) - add_library(zstd::libzstd_shared SHARED IMPORTED) - if(MSVC) - # IMPORTED_LOCATION is the path to the DLL and IMPORTED_IMPLIB is the "library". - get_filename_component(zstd_DIRNAME "${zstd_LIBRARY}" DIRECTORY) - string(REGEX REPLACE "${CMAKE_INSTALL_LIBDIR}$" "${CMAKE_INSTALL_BINDIR}" zstd_DIRNAME "${zstd_DIRNAME}") - get_filename_component(zstd_BASENAME "${zstd_LIBRARY}" NAME) - string(REGEX REPLACE "\\${CMAKE_LINK_LIBRARY_SUFFIX}$" "${CMAKE_SHARED_LIBRARY_SUFFIX}" zstd_BASENAME "${zstd_BASENAME}") - set_target_properties(zstd::libzstd_shared PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}" - IMPORTED_LOCATION "${zstd_DIRNAME}/${zstd_BASENAME}" - IMPORTED_IMPLIB "${zstd_LIBRARY}") - unset(zstd_DIRNAME) - unset(zstd_BASENAME) - else() - set_target_properties(zstd::libzstd_shared PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}" - IMPORTED_LOCATION "${zstd_LIBRARY}") - endif() - else() + if(zstd_LIBRARY MATCHES "${zstd_STATIC_LIBRARY_SUFFIX}$") set(zstd_STATIC_LIBRARY "${zstd_LIBRARY}") + else() + if (NOT TARGET zstd::libzstd_shared) + add_library(zstd::libzstd_shared SHARED IMPORTED) + if(MSVC) + # IMPORTED_LOCATION is the path to the DLL and IMPORTED_IMPLIB is the "library". + get_filename_component(zstd_DIRNAME "${zstd_LIBRARY}" DIRECTORY) + string(REGEX REPLACE "${CMAKE_INSTALL_LIBDIR}$" "${CMAKE_INSTALL_BINDIR}" zstd_DIRNAME "${zstd_DIRNAME}") + get_filename_component(zstd_BASENAME "${zstd_LIBRARY}" NAME) + string(REGEX REPLACE "\\${CMAKE_LINK_LIBRARY_SUFFIX}$" "${CMAKE_SHARED_LIBRARY_SUFFIX}" zstd_BASENAME "${zstd_BASENAME}") + set_target_properties(zstd::libzstd_shared PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}" + IMPORTED_LOCATION "${zstd_DIRNAME}/${zstd_BASENAME}" + IMPORTED_IMPLIB "${zstd_LIBRARY}") + unset(zstd_DIRNAME) + unset(zstd_BASENAME) + else() + set_target_properties(zstd::libzstd_shared PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}" + IMPORTED_LOCATION "${zstd_LIBRARY}") + endif() + endif() endif() if(zstd_STATIC_LIBRARY MATCHES "${zstd_STATIC_LIBRARY_SUFFIX}$" AND NOT TARGET zstd::libzstd_static) @@ -63,7 +62,6 @@ endif() endif() -unset(zstd_SHARED_LIBRARY_SUFFIX) unset(zstd_STATIC_LIBRARY_SUFFIX) mark_as_advanced(zstd_INCLUDE_DIR zstd_LIBRARY zstd_STATIC_LIBRARY)