diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1bff5599ce9b16ce07c3c9bc909b374ef5e778ff..7da4ff2f4b69399fcfabe2316f08c7c2b3ff09cd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -566,12 +566,16 @@ else()
         PkgConfig::swresample
         PkgConfig::swscale
         PkgConfig::jsoncpp
-        yaml-cpp
         PkgConfig::secp256k1
         PUBLIC
         PkgConfig::fmt
         PkgConfig::avutil
     )
+    if (TARGET yaml-cpp)
+        target_link_libraries(${PROJECT_NAME} PRIVATE yaml-cpp)
+    else()
+        target_link_libraries(${PROJECT_NAME} PRIVATE yaml-cpp::yaml-cpp)
+    endif()
     target_compile_options(${PROJECT_NAME} PRIVATE
         -fvisibility=hidden
         -Wall -Wextra
@@ -710,10 +714,14 @@ else()
             PkgConfig::swresample
             PkgConfig::swscale
             PkgConfig::jsoncpp
-            yaml-cpp
             PkgConfig::fmt
             PkgConfig::secp256k1
         )
+        if (TARGET yaml-cpp)
+          target_link_libraries(ut_library PRIVATE yaml-cpp)
+        else()
+          target_link_libraries(ut_library PRIVATE yaml-cpp::yaml-cpp)
+        endif()
         target_include_directories(ut_library PUBLIC
             "${CMAKE_CURRENT_SOURCE_DIR}/test;"
             "${CMAKE_CURRENT_SOURCE_DIR}/test/unitTest;"