diff --git a/CMakeLists.txt b/CMakeLists.txt
index 21fd2fde81290be8e3654b000ec646bf6a42a4a3..06b2f7641f2e0d2a0058247fdeb8414d5243dae1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -529,9 +529,6 @@ if (ENABLE_PACKAGE_SOURCE)
 endif()
 
 if(ENABLE_EXAMPLE_PLUGIN)
-	if(ENABLE_XML2)
-		list(APPEND EP_exampleplugin_DEPENDENCIES "EP_xml2")
-	endif()
 	add_subdirectory(plugins/example)
 endif()
 
diff --git a/plugins/example/CMakeLists.txt b/plugins/example/CMakeLists.txt
index 95f16813528be80becc0b45e9bda44a6a85ca194..ff12e0c15a531b602f53cbaa948704ba072e6149 100644
--- a/plugins/example/CMakeLists.txt
+++ b/plugins/example/CMakeLists.txt
@@ -1,6 +1,6 @@
 ############################################################################
 # CMakeLists.txt
-# Copyright (c) 2010-2022 Belledonne Communications SARL.
+# Copyright (c) 2010-2023 Belledonne Communications SARL.
 #
 ############################################################################
 #
@@ -21,7 +21,7 @@
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
 ############################################################################
 
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.22)
 project(exampleplugin VERSION 1.1.1 LANGUAGES C CXX)
 
 set(PACKAGE "${PROJECT_NAME}")
@@ -33,9 +33,6 @@ set(PACKAGE_TARNAME "exampleplugin")
 set(PACKAGE_URL "")
 set(VERSION "${PACKAGE_VERSION}")
 
-option(ENABLE_SHARED "Build shared library." YES)
-option(ENABLE_STATIC "Build static library." YES)
-
 option(ENABLE_XML2 "Build with libxml2 support - for presence feature mainly" YES)
 
 set(CMAKE_CXX_STANDARD 17)
@@ -71,65 +68,54 @@ endif()
 
 set(PLUGINS_DIR "${LINPHONE_PACKAGE_PLUGINS_DIR}")
 
-if(ENABLE_STATIC)
-	add_library(exampleplugin-static STATIC ${SOURCE_FILES})
-	target_include_directories(exampleplugin-static PUBLIC
-		PRIVATE ${INCLUDE_DIRS}
-	)
-	set_target_properties(exampleplugin-static PROPERTIES OUTPUT_NAME exampleplugin)
-	set_target_properties(exampleplugin-static PROPERTIES LINKER_LANGUAGE CXX)
-	target_link_libraries(exampleplugin-static ${LIBS})
-	install(TARGETS exampleplugin-static
-		ARCHIVE DESTINATION "${PLUGINS_DIR}"
-		PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
-	)
-endif()
-if(ENABLE_SHARED)
+if(BUILD_SHARED_LIBS)
 	if(NOT IOS)
 		add_library(exampleplugin MODULE ${SOURCE_FILES})
 	else()
 		add_library(exampleplugin SHARED ${SOURCE_FILES})
 	endif()
+else()
+	add_library(exampleplugin STATIC ${SOURCE_FILES})
+endif()
 
-	target_include_directories(exampleplugin PUBLIC
-		$<INSTALL_INTERFACE:include/>
-		$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/coreapi/>
-		$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include/>
-		$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/>
-		PRIVATE ${INCLUDE_DIRS}
-	)
-
-	target_link_libraries(exampleplugin PRIVATE linphone mediastreamer2 ${LIBS})
-	set_target_properties(exampleplugin PROPERTIES LINKER_LANGUAGE CXX)
-	if(APPLE)
-		if(IOS)
-			set(MIN_OS ${LINPHONE_IOS_DEPLOYMENT_TARGET})
-			set_target_properties(exampleplugin 	PROPERTIES
-				FRAMEWORK TRUE
-				MACOSX_FRAMEWORK_IDENTIFIER org.linphone.exampleplugin
-				MACOSX_FRAMEWORK_INFO_PLIST Info.plist.in
-			)
-		else()
-			set(MIN_OS ${CMAKE_OSX_DEPLOYMENT_TARGET})
-		endif()
-		set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/build/osx/")
-	endif()
-	if(MSVC)
-		if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
-			install(FILES $<TARGET_PDB_FILE:exampleplugin>
-				DESTINATION ${CMAKE_INSTALL_BINDIR}
-				PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
-			)
-		endif()
-		if(NOT IOS)
-			set_target_properties(exampleplugin PROPERTIES PREFIX "lib")
-		endif()
+target_include_directories(exampleplugin PUBLIC
+	$<INSTALL_INTERFACE:include/>
+	$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/coreapi/>
+	$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include/>
+	$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/>
+	PRIVATE ${INCLUDE_DIRS}
+)
+
+target_link_libraries(exampleplugin PRIVATE liblinphone ${LIBS})
+set_target_properties(exampleplugin PROPERTIES LINKER_LANGUAGE CXX)
+if(APPLE)
+	if(IOS)
+		set(MIN_OS ${LINPHONE_IOS_DEPLOYMENT_TARGET})
+		set_target_properties(exampleplugin PROPERTIES
+			FRAMEWORK TRUE
+			MACOSX_FRAMEWORK_IDENTIFIER org.linphone.exampleplugin
+			MACOSX_FRAMEWORK_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in"
+		)
+	else()
+		set(MIN_OS ${CMAKE_OSX_DEPLOYMENT_TARGET})
 	endif()
-	install(TARGETS exampleplugin
-			RUNTIME DESTINATION ${PLUGINS_DIR}
-			LIBRARY DESTINATION ${PLUGINS_DIR}
-			ARCHIVE DESTINATION ${PLUGINS_DIR}
-			FRAMEWORK DESTINATION Frameworks
+endif()
+if(MSVC)
+	if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
+		install(FILES $<TARGET_PDB_FILE:exampleplugin>
+			DESTINATION ${CMAKE_INSTALL_BINDIR}
 			PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
-	)
+		)
+	endif()
+	if(NOT IOS)
+		set_target_properties(exampleplugin PROPERTIES PREFIX "lib")
+	endif()
 endif()
+
+install(TARGETS exampleplugin
+		RUNTIME DESTINATION ${PLUGINS_DIR}
+		LIBRARY DESTINATION ${PLUGINS_DIR}
+		ARCHIVE DESTINATION ${PLUGINS_DIR}
+		FRAMEWORK DESTINATION Frameworks
+		PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+)
diff --git a/plugins/example/Info.plist.in b/plugins/example/Info.plist.in
new file mode 100644
index 0000000000000000000000000000000000000000..7bd2d43774321cb66c05a894e589bc3c056b6826
--- /dev/null
+++ b/plugins/example/Info.plist.in
@@ -0,0 +1,45 @@
+
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>${MACOSX_FRAMEWORK_NAME}</string>
+	<key>CFBundleGetInfoString</key>
+	<string>${MACOSX_BUNDLE_INFO_STRING}</string>
+	<key>CFBundleIconFile</key>
+	<string>${MACOSX_BUNDLE_ICON_FILE}</string>
+	<key>CFBundleIdentifier</key>
+	<string>${MACOSX_FRAMEWORK_IDENTIFIER}</string>
+	<key>LSMinimumSystemVersion</key>
+	<string>${MIN_OS}</string>
+	<key>MinimumOSVersion</key>
+	<string>${MIN_OS}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleLongVersionString</key>
+	<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
+	<key>CFBundleName</key>
+	<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleShortVersionString</key>
+	<string>${LINPHONE_VERSION}</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>${LINPHONE_VERSION}</string>
+	<key>CSResourcesFileMapped</key>
+	<true/>
+	<key>NSHumanReadableCopyright</key>
+	<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
+	<key>NSPrincipalClass</key>
+	<string>NSApplication</string>
+	<key>NSHighResolutionCapable</key>
+	<string>True</string>
+	<key>NSCameraUsageDescription</key>
+	<string>Allow camera for video sessions</string>
+</dict>
+</plist>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5e6d0f2f440f199276f4a025b850b9d77c67abf5..18ca8bed38eba4859eb7b47a37927ee947fb24e3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -29,6 +29,7 @@ set(LINK_LIBS
 set(PUBLIC_LINK_LIBS
 	ortp
 	mediastreamer2
+	belle-sip
 )
 
 #APPLE_LIBS is mandatory for apple compilation
@@ -89,7 +90,7 @@ if (ENABLE_DB_STORAGE)
 endif()
 if(SQLITE3_FOUND)
 	list(APPEND INTERFACE_LIBS sqlite3)
-	list(APPEND LINK_LIBS ${SQLITE3_LIBRARIES})
+	list(APPEND PUBLIC_LINK_LIBS ${SQLITE3_LIBRARIES})
 endif()
 if(ICONV_FOUND)
 	list(APPEND INTERFACE_LIBS iconv)