diff --git a/CMakeLists.txt b/CMakeLists.txt
index e346d6db5057c4a27cca12d4e4dbba96e66b0281..6acfc3cf10413061250a4584bbc93f8935028e77 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -472,14 +472,13 @@ else()
     set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH)
     list(APPEND CMAKE_PREFIX_PATH ${CONTRIB_PATH})
 
-    find_package (jsoncpp REQUIRED)
-    find_package (yaml-cpp REQUIRED)
+    find_package (jsoncpp CONFIG REQUIRED)
+    find_package (yaml-cpp CONFIG REQUIRED)
     pkg_search_module (fmt REQUIRED IMPORTED_TARGET fmt)
-    pkg_search_module (webrtcap REQUIRED IMPORTED_TARGET webrtc-audio-processing)
+    pkg_search_module (webrtcap IMPORTED_TARGET webrtc-audio-processing)
     pkg_search_module (gnutls REQUIRED IMPORTED_TARGET gnutls)
     pkg_search_module (opendht REQUIRED IMPORTED_TARGET opendht)
     pkg_search_module (git2 REQUIRED IMPORTED_TARGET libgit2)
-    pkg_search_module (archive REQUIRED IMPORTED_TARGET libarchive)
     pkg_search_module (secp256k1 REQUIRED IMPORTED_TARGET libsecp256k1)
     pkg_search_module (pjproject REQUIRED IMPORTED_TARGET libpjproject)
     pkg_search_module (avformat REQUIRED IMPORTED_TARGET libavformat)
@@ -489,14 +488,19 @@ else()
     pkg_search_module (swresample REQUIRED IMPORTED_TARGET libswresample)
     pkg_search_module (swscale REQUIRED IMPORTED_TARGET libswscale)
     pkg_search_module (avutil REQUIRED IMPORTED_TARGET libavutil)
+    if (JAMI_PLUGIN)
+        if (APPLE)
+            pkg_search_module (archive REQUIRED IMPORTED_TARGET minizip)
+        else()
+            pkg_search_module (archive REQUIRED IMPORTED_TARGET libarchive)
+        endif()
+    endif()
 
     target_link_libraries(${PROJECT_NAME} PRIVATE
         PkgConfig::opendht
         PkgConfig::pjproject
         PkgConfig::git2
-        PkgConfig::archive
         PkgConfig::gnutls
-        PkgConfig::webrtcap
         PkgConfig::avformat
         PkgConfig::avdevice
         PkgConfig::avfilter
@@ -540,6 +544,14 @@ else()
     if (JAMI_PUPNP)
         target_link_libraries(${PROJECT_NAME} PRIVATE upnp)
     endif()
+    if (JAMI_PLUGIN)
+        target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::archive)
+    endif()
+    if (webrtcap_FOUND)
+        target_sources(${PROJECT_NAME} PRIVATE ${Source_Files__media__audio__webrtc} )
+        target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::webrtcap)
+        target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_WEBRTC_AP)
+    endif()
 
     if (JAMI_JNI)
         # Build jni binding
diff --git a/contrib/src/main.mak b/contrib/src/main.mak
index 37054adf4b00086d3719b5cb8efc2eeb9bf7f412..70261aaf217927cf71c6e4114f6e8974a66f1e98 100644
--- a/contrib/src/main.mak
+++ b/contrib/src/main.mak
@@ -540,8 +540,6 @@ endif
 ifdef HAVE_CROSS_COMPILE
 	echo "set(_CMAKE_TOOLCHAIN_PREFIX $(CROSS_COMPILE))" >> $@
 endif
-	echo "set(CMAKE_C_COMPILER \"$(CC)\")" >> $@
-	echo "set(CMAKE_CXX_COMPILER \"$(CXX)\")" >> $@
 	echo "set(CMAKE_FIND_ROOT_PATH $(PREFIX))" >> $@
 	echo "set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $@
 	echo "set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)" >> $@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6b0f19f7cac65b8ea27f8f3f2fe497cca38b5691..3929aacdb88a7aa1c31905ac5c7f1ee60619c6bc 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -90,6 +90,7 @@ set (Source_Files__media ${Source_Files__media} PARENT_SCOPE)
 set (Source_Files__media__audio ${Source_Files__media__audio} PARENT_SCOPE)
 set (Source_Files__media__audio__sound ${Source_Files__media__audio__sound} PARENT_SCOPE)
 set (Source_Files__media__audio__audio_processing ${Source_Files__media__audio__audio_processing} PARENT_SCOPE)
+set (Source_Files__media__audio__webrtc ${Source_Files__media__audio__webrtc} PARENT_SCOPE)
 set (Source_Files__media__video ${Source_Files__media__video} PARENT_SCOPE)
 if(MSVC)
    if(WINDOWS_STORE)
diff --git a/src/media/CMakeLists.txt b/src/media/CMakeLists.txt
index 18ccc36d408d8d40bbed0aeb8df1e120a520c1c4..4de09c4e4c7fd192e850d0ccd8ae4f8726284e11 100644
--- a/src/media/CMakeLists.txt
+++ b/src/media/CMakeLists.txt
@@ -57,6 +57,7 @@ if(MSVC)
 endif()
 set (Source_Files__media__audio__sound ${Source_Files__media__audio__sound} PARENT_SCOPE)
 set (Source_Files__media__audio__audio_processing ${Source_Files__media__audio__audio_processing} PARENT_SCOPE)
+set (Source_Files__media__audio__webrtc ${Source_Files__media__audio__webrtc} PARENT_SCOPE)
 
 set (Source_Files__media__video ${Source_Files__media__video} PARENT_SCOPE)
 if(MSVC)
diff --git a/src/media/audio/CMakeLists.txt b/src/media/audio/CMakeLists.txt
index 8da543827ae0a568399775306956592443da9c4c..3a0d2726ceec23767b7eeefdfd00186ef64964d7 100644
--- a/src/media/audio/CMakeLists.txt
+++ b/src/media/audio/CMakeLists.txt
@@ -52,3 +52,4 @@ set (Source_Files__media__audio__sound ${Source_Files__media__audio__sound} PARE
 
 add_subdirectory(audio-processing)
 set (Source_Files__media__audio__audio_processing ${Source_Files__media__audio__audio_processing} PARENT_SCOPE)
+set (Source_Files__media__audio__webrtc ${Source_Files__media__audio__webrtc} PARENT_SCOPE)
diff --git a/src/media/audio/audio-processing/CMakeLists.txt b/src/media/audio/audio-processing/CMakeLists.txt
index f5de9632ce970a6407713c3345add76d0fd8c83f..fc77dcc67e2132720284aea449ce3c9c1c590e69 100644
--- a/src/media/audio/audio-processing/CMakeLists.txt
+++ b/src/media/audio/audio-processing/CMakeLists.txt
@@ -7,8 +7,12 @@ list (APPEND Source_Files__media__audio__audio_processing
       "${CMAKE_CURRENT_SOURCE_DIR}/null_audio_processor.cpp"
       "${CMAKE_CURRENT_SOURCE_DIR}/speex.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/speex.cpp"
+)
+
+list (APPEND Source_Files__media__audio__webrtc
       "${CMAKE_CURRENT_SOURCE_DIR}/webrtc.h"
       "${CMAKE_CURRENT_SOURCE_DIR}/webrtc.cpp"
 )
 
 set (Source_Files__media__audio__audio_processing ${Source_Files__media__audio__audio_processing} PARENT_SCOPE)
+set (Source_Files__media__audio__webrtc ${Source_Files__media__audio__webrtc} PARENT_SCOPE)