diff --git a/cmake-modules/Findid3tag.cmake b/cmake-modules/Findid3tag.cmake
index 1dae11281..5780aed25 100644
--- a/cmake-modules/Findid3tag.cmake
+++ b/cmake-modules/Findid3tag.cmake
@@ -55,8 +55,13 @@ else()
     DOC "id3tag library"
   )
 
-  find_package(ZLIB REQUIRED)
-  list(APPEND id3tag_LINK_LIBRARIES ZLIB::ZLIB)
+  if(NOT ZLIB_FOUND)
+    if(VCPKG)
+      set (ZLIB_ROOT ${env}/bin)
+    endif()
+
+    find_library(ZLIB REQUIRED)
+  endif()
 endif()
 
 include(FindPackageHandleStandardArgs)
@@ -67,10 +72,20 @@ find_package_handle_standard_args(
   id3tag_INCLUDEDIR
 )
 
+# Remove default reference to link "z" since we already found it
+if(ZLIB_FOUND AND NOT UNIX)
+  list(FILTER id3tag_LINK_LIBRARIES EXCLUDE REGEX "[z]")
+  list(APPEND id3tag_LINK_LIBRARIES ZLIB::ZLIB)
+endif()
+
 if(id3tag_FOUND)
+  set(id3tag_LIBRARIES "${id3tag_LIBRARY}")
+  set(id3tag_INCLUDE_DIRS "${id3tag_INCLUDE_DIR}")
+  set(id3tag_DEFINITIONS "${PC_id3tag_CFLAGS_OTHER}")
+
   if(NOT TARGET id3tag::id3tag)
     add_library(id3tag::id3tag INTERFACE IMPORTED)
-    target_link_libraries(id3tag::id3tag INTERFACE "${id3tag_LINK_LIBRARIES}")
+    target_link_libraries(id3tag::id3tag INTERFACE ${id3tag_LINK_LIBRARIES})
     target_include_directories(id3tag::id3tag INTERFACE "${id3tag_INCLUDEDIR}")
   endif()
 endif()