diff --git a/cmake/FindWrapLibArchive.cmake b/cmake/FindWrapLibArchive.cmake
index 67e4ce0..887b766 100644
--- a/cmake/FindWrapLibArchive.cmake
+++ b/cmake/FindWrapLibArchive.cmake
@@ -16,3 +16,24 @@ add_library(WrapLibArchive::WrapLibArchive INTERFACE IMPORTED)
 target_link_libraries(WrapLibArchive::WrapLibArchive INTERFACE ${LibArchive_LIBRARIES})
 target_include_directories(WrapLibArchive::WrapLibArchive INTERFACE ${LibArchive_INCLUDE_DIRS})
 set(WrapLibArchive_FOUND TRUE)
+if(TARGET BZip2::BZip2)
+	set_property(TARGET BZip2::BZip2 PROPERTY _qt_no_promote_global TRUE)
+endif()
+if(TARGET Threads::Threads)
+	set_property(TARGET Threads::Threads PROPERTY _qt_no_promote_global TRUE)
+endif()
+if(TARGET OpenSSL::Crypto)
+	set_property(TARGET OpenSSL::Crypto PROPERTY _qt_no_promote_global TRUE)
+endif()
+if(TARGET zstd::libzstd)
+	set_property(TARGET zstd::libzstd PROPERTY _qt_no_promote_global TRUE)
+endif()
+if(TARGET zstd::libzstd_shared)
+	set_property(TARGET zstd::libzstd_shared PROPERTY _qt_no_promote_global TRUE)
+endif()
+if(TARGET zstd::libzstd_static)
+	set_property(TARGET zstd::libzstd_static PROPERTY _qt_no_promote_global TRUE)
+endif()
+if(TARGET ZLIB::ZLIB)
+	set_property(TARGET ZLIB::ZLIB PROPERTY _qt_no_promote_global TRUE)
+endif()
diff --git a/cmake/FindWrapLibYaml.cmake b/cmake/FindWrapLibYaml.cmake
index 1dab912..c09e97f 100644
--- a/cmake/FindWrapLibYaml.cmake
+++ b/cmake/FindWrapLibYaml.cmake
@@ -10,10 +10,17 @@ pkg_check_modules(pc_libyaml yaml-0.1 IMPORTED_TARGET)
 
 
 if (NOT pc_libyaml_FOUND)
-    set(WrapLibYaml_FOUND FALSE)
-    return()
+    find_package(yaml)
+    if(yaml_FOUND)
+        add_library(WrapLibYaml::WrapLibYaml INTERFACE IMPORTED)
+        target_link_libraries(WrapLibYaml::WrapLibYaml INTERFACE ${yaml_LIBRARIES})
+    else()
+        set(WrapLibYaml_FOUND FALSE)
+        return()
+    endif()
+else()
+    add_library(WrapLibYaml::WrapLibYaml INTERFACE IMPORTED)
+    target_link_libraries(WrapLibYaml::WrapLibYaml INTERFACE PkgConfig::pc_libyaml)
 endif()
-
-add_library(WrapLibYaml::WrapLibYaml INTERFACE IMPORTED)
-target_link_libraries(WrapLibYaml::WrapLibYaml INTERFACE ${pc_libyaml_LIBRARIES})
 set(WrapLibYaml_FOUND TRUE)
+