diff --git a/CMakeLists.txt b/CMakeLists.txt
index d0a8fd709f4c3f92c0d8066706d0249fcb18100a..2a09fd6c4c6908ccd280f6a60e0fb145a811b556 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -384,8 +384,6 @@ elseif (NOT APPLE)
     add_definitions(${LIBGDKPIXBUF_CFLAGS})
   endif()
 
-  pkg_check_modules(XCB xcb)
-
   list(PREPEND CMAKE_PREFIX_PATH
     ${LIBJAMI_CONTRIB_DIR}/native/ffmpeg/libavutil)
   pkg_check_modules(LIBAVUTIL libavutil>=55.75.100)
@@ -398,7 +396,6 @@ elseif (NOT APPLE)
     ${LIBNOTIFY_INCLUDE_DIRS}
     ${LIBGDKPIXBUF_INCLUDE_DIRS}
     ${GLIB_INCLUDE_DIRS}
-    ${XCB_INCLUDE_DIRS}
     ${LIBAVUTIL_INCLUDE_DIRS})
 
   set(JAMI_DATA_PREFIX "${CMAKE_INSTALL_PREFIX}/share")
@@ -586,8 +583,7 @@ elseif (NOT APPLE)
     ${LIBNOTIFY_LIBRARIES}
     ${LIBGDKPIXBUF_LIBRARIES}
     ${GLIB_LIBRARIES}
-    ${GIO_LIBRARIES}
-    ${XCB_LIBRARIES})
+    ${GIO_LIBRARIES})
 
   # Installation rules
   install(
diff --git a/src/libclient/CMakeLists.txt b/src/libclient/CMakeLists.txt
index 99780f5fa59ae00cf2b8f725d62e09315f8f0cef..1dd326776bfc4f9e04b05a0446a58d20f5dacef5 100644
--- a/src/libclient/CMakeLists.txt
+++ b/src/libclient/CMakeLists.txt
@@ -475,6 +475,12 @@ add_library(${LIBCLIENT_NAME} STATIC
 foreach(QT_LIB ${QT_LIBS})
   target_link_libraries(${LIBCLIENT_NAME} ${QT_LIB})
 endforeach()
+
+if(NOT(APPLE OR MSVC))
+  pkg_check_modules(XCB xcb IMPORTED_TARGET)
+  target_link_libraries(${LIBCLIENT_NAME} PkgConfig::XCB)
+endif()
+
 if(ENABLE_LIBWRAP)
   target_link_libraries(${LIBCLIENT_NAME} qtwrapper ${LIBJAMI_LIB})
   if (NOT (CMAKE_CXX_COMPILER_ID MATCHES "MSVC"))