| 1 | From e52911c291e5ebe16da764e53cb740b7deb77e75 Mon Sep 17 00:00:00 2001
|
| 2 | From: Ghislain MARY <[email protected]>
|
| 3 | Date: Mon, 13 Mar 2023 19:05:30 +0100
|
| 4 | Subject: [PATCH] Update CMakeLists.txt so that the project can be added as a
|
| 5 | subdirectory of linphone-sdk.
|
| 6 |
|
| 7 | Rename CMake targets for uniform naming.
|
| 8 | ---
|
| 9 | CMakeLists.txt | 68 ++++++++++++++++++----------------
|
| 10 | cmake/FindBcToolbox.cmake | 67 +++++++++++++++++++++++++++++++++
|
| 11 | cmake/FindMediastreamer2.cmake | 46 +++++++++++++++++++++++
|
| 12 | cmake/FindOrtp.cmake | 43 +++++++++++++++++++++
|
| 13 | 4 files changed, 193 insertions(+), 31 deletions(-)
|
| 14 | create mode 100644 cmake/FindBcToolbox.cmake
|
| 15 | create mode 100644 cmake/FindMediastreamer2.cmake
|
| 16 | create mode 100644 cmake/FindOrtp.cmake
|
| 17 |
|
| 18 | diff --git a/CMakeLists.txt b/CMakeLists.txt
|
| 19 | index 0f26f4f..fd5b52e 100644
|
| 20 | |
| 21 | |
| 22 | @@ -1,6 +1,6 @@
|
| 23 | ############################################################################
|
| 24 | # CMakeLists.txt
|
| 25 | -# Copyright (C) 2014 Belledonne Communications, Grenoble France
|
| 26 | +# Copyright (C) 2014-2023 Belledonne Communications, Grenoble France
|
| 27 | #
|
| 28 | ############################################################################
|
| 29 | #
|
| 30 | @@ -20,7 +20,8 @@
|
| 31 | #
|
| 32 | ############################################################################
|
| 33 |
|
| 34 | -cmake_minimum_required(VERSION 3.1)
|
| 35 | +cmake_minimum_required(VERSION 3.22)
|
| 36 | +
|
| 37 | project(mswebrtc VERSION 1.1.1 LANGUAGES C CXX)
|
| 38 |
|
| 39 |
|
| 40 | @@ -34,8 +35,6 @@ set(PACKAGE_URL "")
|
| 41 | set(VERSION "${PACKAGE_VERSION}")
|
| 42 |
|
| 43 |
|
| 44 | -option(ENABLE_SHARED "Build shared library." YES)
|
| 45 | -option(ENABLE_STATIC "Build static library." YES)
|
| 46 | option(ENABLE_AEC "Enable the WebRTC echo canceller support." YES)
|
| 47 | option(ENABLE_AECM "Enable the WebRTC echo canceller for mobile support." YES)
|
| 48 | option(ENABLE_ISAC "Enable the ISAC audio codec support." YES)
|
| 49 | @@ -60,9 +59,20 @@ if(NOT CMAKE_INSTALL_RPATH AND CMAKE_INSTALL_PREFIX)
|
| 50 | message(STATUS "Setting install rpath to ${CMAKE_INSTALL_RPATH}")
|
| 51 | endif()
|
| 52 |
|
| 53 | -find_package(Mediastreamer2 REQUIRED CONFIG)
|
| 54 | -find_package(ortp REQUIRED CONFIG)
|
| 55 | -find_package(bctoolbox REQUIRED CONFIG)
|
| 56 | +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
| 57 | +
|
| 58 | +find_package(BcToolbox)
|
| 59 | +if(NOT BCTOOLBOX_FOUND)
|
| 60 | + find_package(bctoolbox REQUIRED CONFIG)
|
| 61 | +endif()
|
| 62 | +find_package(Ortp)
|
| 63 | +if(NOT ORTP_FOUND)
|
| 64 | + find_package(ortp REQUIRED CONFIG)
|
| 65 | +endif()
|
| 66 | +find_package(Mediastreamer2)
|
| 67 | +if(NOT MEDIASTREAMER2_FOUND)
|
| 68 | + find_package(Mediastreamer2 REQUIRED CONFIG)
|
| 69 | +endif()
|
| 70 |
|
| 71 | find_library(LIBM NAMES m)
|
| 72 |
|
| 73 | @@ -410,24 +420,18 @@ endif()
|
| 74 |
|
| 75 | set(MS2_PLUGINS_DIR "${MEDIASTREAMER2_PLUGINS_LOCATION}")
|
| 76 |
|
| 77 | -if(ENABLE_STATIC)
|
| 78 | - add_library(mswebrtc-static STATIC ${SOURCE_FILES})
|
| 79 | - set_target_properties(mswebrtc-static PROPERTIES OUTPUT_NAME mswebrtc)
|
| 80 | - set_target_properties(mswebrtc-static PROPERTIES LINKER_LANGUAGE CXX)
|
| 81 | - target_link_libraries(mswebrtc-static ${LIBS})
|
| 82 | - install(TARGETS mswebrtc-static
|
| 83 | - ARCHIVE DESTINATION "${MS2_PLUGINS_DIR}"
|
| 84 | - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
| 85 | - )
|
| 86 | -endif()
|
| 87 | -if(ENABLE_SHARED)
|
| 88 | - if(NOT IOS)
|
| 89 | - add_library(mswebrtc MODULE ${SOURCE_FILES})
|
| 90 | - else()
|
| 91 | +if(BUILD_SHARED_LIBS)
|
| 92 | + if(IOS)
|
| 93 | add_library(mswebrtc SHARED ${SOURCE_FILES})
|
| 94 | + else()
|
| 95 | + add_library(mswebrtc MODULE ${SOURCE_FILES})
|
| 96 | endif()
|
| 97 | - target_link_libraries(mswebrtc PRIVATE mediastreamer ortp bctoolbox ${LIBS})
|
| 98 | - set_target_properties(mswebrtc PROPERTIES LINKER_LANGUAGE CXX)
|
| 99 | +else()
|
| 100 | + add_library(mswebrtc STATIC ${SOURCE_FILES})
|
| 101 | +endif()
|
| 102 | +target_link_libraries(mswebrtc PRIVATE mediastreamer2 ortp bctoolbox ${LIBS})
|
| 103 | +set_target_properties(mswebrtc PROPERTIES LINKER_LANGUAGE CXX)
|
| 104 | +if(BUILD_SHARED_LIBS)
|
| 105 | if(APPLE)
|
| 106 | if(IOS)
|
| 107 | set(MIN_OS ${LINPHONE_IOS_DEPLOYMENT_TARGET})
|
| 108 | @@ -441,7 +445,7 @@ if(ENABLE_SHARED)
|
| 109 | set(MIN_OS ${CMAKE_OSX_DEPLOYMENT_TARGET})
|
| 110 | endif()
|
| 111 |
|
| 112 | - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/build/osx/")
|
| 113 | + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/build/osx/")
|
| 114 | endif()
|
| 115 | if(MSVC)
|
| 116 | if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
| 117 | @@ -454,14 +458,16 @@ if(ENABLE_SHARED)
|
| 118 | set_target_properties(mswebrtc PROPERTIES PREFIX "lib")
|
| 119 | endif()
|
| 120 | endif()
|
| 121 | - install(TARGETS mswebrtc
|
| 122 | - RUNTIME DESTINATION ${MS2_PLUGINS_DIR}
|
| 123 | - LIBRARY DESTINATION ${MS2_PLUGINS_DIR}
|
| 124 | - ARCHIVE DESTINATION ${MS2_PLUGINS_DIR}
|
| 125 | - FRAMEWORK DESTINATION Frameworks
|
| 126 | - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
| 127 | - )
|
| 128 | endif()
|
| 129 |
|
| 130 | +install(TARGETS mswebrtc
|
| 131 | + RUNTIME DESTINATION ${MS2_PLUGINS_DIR}
|
| 132 | + LIBRARY DESTINATION ${MS2_PLUGINS_DIR}
|
| 133 | + ARCHIVE DESTINATION ${MS2_PLUGINS_DIR}
|
| 134 | + FRAMEWORK DESTINATION Frameworks
|
| 135 | + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
| 136 | +)
|
| 137 | +
|
| 138 | +
|
| 139 | add_subdirectory(build)
|
| 140 |
|
| 141 | diff --git a/cmake/FindBcToolbox.cmake b/cmake/FindBcToolbox.cmake
|
| 142 | new file mode 100644
|
| 143 | index 0000000..5766478
|
| 144 | |
| 145 | |
| 146 | @@ -0,0 +1,67 @@
|
| 147 | +############################################################################
|
| 148 | +# FindBctoolbox.cmake
|
| 149 | +# Copyright (C) 2023 Belledonne Communications, Grenoble France
|
| 150 | +#
|
| 151 | +############################################################################
|
| 152 | +#
|
| 153 | +# This program is free software; you can redistribute it and/or
|
| 154 | +# modify it under the terms of the GNU General Public License
|
| 155 | +# as published by the Free Software Foundation; either version 2
|
| 156 | +# of the License, or (at your option) any later version.
|
| 157 | +#
|
| 158 | +# This program is distributed in the hope that it will be useful,
|
| 159 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 160 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| 161 | +# GNU General Public License for more details.
|
| 162 | +#
|
| 163 | +# You should have received a copy of the GNU General Public License
|
| 164 | +# along with this program; if not, write to the Free Software
|
| 165 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
| 166 | +#
|
| 167 | +############################################################################
|
| 168 | +#
|
| 169 | +# - Find the bctoolbox include files and library
|
| 170 | +#
|
| 171 | +# BCTOOLBOX_FOUND - System has lib bctoolbox
|
| 172 | +# BCTOOLBOX_INCLUDE_DIRS - The bctoolbox include directories
|
| 173 | +# BCTOOLBOX_LIBRARIES - The libraries needed to use bctoolbox
|
| 174 | +# BCTOOLBOX_CMAKE_DIR - The bctoolbox cmake directory
|
| 175 | +# BCTOOLBOX_CORE_FOUND - System has core bctoolbox
|
| 176 | +# BCTOOLBOX_CORE_INCLUDE_DIRS - The core bctoolbox include directories
|
| 177 | +# BCTOOLBOX_CORE_LIBRARIES - The core bctoolbox libraries
|
| 178 | +# BCTOOLBOX_TESTER_FOUND - System has bctoolbox tester
|
| 179 | +# BCTOOLBOX_TESTER_INCLUDE_DIRS - The bctoolbox tester include directories
|
| 180 | +# BCTOOLBOX_TESTER_LIBRARIES - The bctoolbox tester libraries
|
| 181 | +
|
| 182 | +if(TARGET bctoolbox)
|
| 183 | +
|
| 184 | + set(BCTOOLBOX_CORE_LIBRARIES bctoolbox)
|
| 185 | + get_target_property(BCTOOLBOX_CORE_INCLUDE_DIRS bctoolbox INTERFACE_INCLUDE_DIRECTORIES)
|
| 186 | + set(BCTOOLBOX_CORE_FOUND TRUE)
|
| 187 | + get_target_property(BCTOOLBOX_SOURCE_DIR bctoolbox SOURCE_DIR)
|
| 188 | + set(BCTOOLBOX_CMAKE_DIR "${BCTOOLBOX_SOURCE_DIR}/../cmake")
|
| 189 | + if(TARGET bctoolbox-tester)
|
| 190 | + set(BCTOOLBOX_TESTER_LIBRARIES bctoolbox-tester)
|
| 191 | + get_target_property(BCTOOLBOX_TESTER_INCLUDE_DIRS bctoolbox-tester INTERFACE_INCLUDE_DIRECTORIES)
|
| 192 | + set(BCTOOLBOX_TESTER_FOUND TRUE)
|
| 193 | + set(BCTOOLBOX_TESTER_COMPONENT_VARIABLES BCTOOLBOX_TESTER_FOUND BCTOOLBOX_TESTER_INCLUDE_DIRS BCTOOLBOX_TESTER_LIBRARIES)
|
| 194 | + endif()
|
| 195 | + set(BCTOOLBOX_LIBRARIES ${BCTOOLBOX_CORE_LIBRARIES} ${BCTOOLBOX_TESTER_LIBRARIES})
|
| 196 | + set(BCTOOLBOX_INCLUDE_DIRS ${BCTOOLBOX_CORE_INCLUDE_DIRS} ${BCTOOLBOX_TESTER_INCLUDE_DIRS})
|
| 197 | +
|
| 198 | +
|
| 199 | + include(FindPackageHandleStandardArgs)
|
| 200 | + find_package_handle_standard_args(BcToolbox
|
| 201 | + DEFAULT_MSG
|
| 202 | + BCTOOLBOX_INCLUDE_DIRS BCTOOLBOX_LIBRARIES BCTOOLBOX_CMAKE_DIR
|
| 203 | + BCTOOLBOX_CORE_FOUND BCTOOLBOX_CORE_INCLUDE_DIRS BCTOOLBOX_CORE_LIBRARIES
|
| 204 | + ${BCTOOLBOX_TESTER_COMPONENT_VARIABLES}
|
| 205 | + )
|
| 206 | +
|
| 207 | + mark_as_advanced(
|
| 208 | + BCTOOLBOX_INCLUDE_DIRS BCTOOLBOX_LIBRARIES BCTOOLBOX_CMAKE_DIR
|
| 209 | + BCTOOLBOX_CORE_FOUND BCTOOLBOX_CORE_INCLUDE_DIRS BCTOOLBOX_CORE_LIBRARIES
|
| 210 | + ${BCTOOLBOX_TESTER_COMPONENT_VARIABLES}
|
| 211 | + )
|
| 212 | +
|
| 213 | +endif()
|
| 214 | diff --git a/cmake/FindMediastreamer2.cmake b/cmake/FindMediastreamer2.cmake
|
| 215 | new file mode 100644
|
| 216 | index 0000000..64ac8f2
|
| 217 | |
| 218 | |
| 219 | @@ -0,0 +1,46 @@
|
| 220 | +############################################################################
|
| 221 | +# FindMediastreamer2.cmake
|
| 222 | +# Copyright (C) 2023 Belledonne Communications, Grenoble France
|
| 223 | +#
|
| 224 | +############################################################################
|
| 225 | +#
|
| 226 | +# This program is free software; you can redistribute it and/or
|
| 227 | +# modify it under the terms of the GNU General Public License
|
| 228 | +# as published by the Free Software Foundation; either version 2
|
| 229 | +# of the License, or (at your option) any later version.
|
| 230 | +#
|
| 231 | +# This program is distributed in the hope that it will be useful,
|
| 232 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 233 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| 234 | +# GNU General Public License for more details.
|
| 235 | +#
|
| 236 | +# You should have received a copy of the GNU General Public License
|
| 237 | +# along with this program; if not, write to the Free Software
|
| 238 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
| 239 | +#
|
| 240 | +############################################################################
|
| 241 | +#
|
| 242 | +# - Find the mediastreamer2 include files and library
|
| 243 | +#
|
| 244 | +# MEDIASTREAMER2_FOUND - system has lib mediastreamer2
|
| 245 | +# MEDIASTREAMER2_INCLUDE_DIRS - the mediasteamer2 include directory
|
| 246 | +# MEDIASTREAMER2_LIBRARIES - The library needed to use mediasteamer2
|
| 247 | +# MEDIASTREAMER2_PLUGINS_LOCATION - The location of the mediastreamer2 plugins
|
| 248 | +
|
| 249 | +if(TARGET mediastreamer2)
|
| 250 | +
|
| 251 | + set(MEDIASTREAMER2_LIBRARIES mediastreamer2)
|
| 252 | + get_target_property(MEDIASTREAMER2_INCLUDE_DIRS mediastreamer2 INTERFACE_INCLUDE_DIRECTORIES)
|
| 253 | + define_property(TARGET PROPERTY "MS2_PLUGINS" BRIEF_DOCS "Stores the location of mediastreamer2 plugins" FULL_DOCS "Stores the location of mediastreamer2 plugins")
|
| 254 | + get_target_property(MEDIASTREAMER2_PLUGINS_LOCATION mediastreamer2 MS2_PLUGINS)
|
| 255 | +
|
| 256 | +
|
| 257 | + include(FindPackageHandleStandardArgs)
|
| 258 | + find_package_handle_standard_args(Mediastreamer2
|
| 259 | + DEFAULT_MSG
|
| 260 | + MEDIASTREAMER2_INCLUDE_DIRS MEDIASTREAMER2_LIBRARIES
|
| 261 | + )
|
| 262 | +
|
| 263 | + mark_as_advanced(MEDIASTREAMER2_INCLUDE_DIRS MEDIASTREAMER2_LIBRARIES)
|
| 264 | +
|
| 265 | +endif()
|
| 266 | diff --git a/cmake/FindOrtp.cmake b/cmake/FindOrtp.cmake
|
| 267 | new file mode 100644
|
| 268 | index 0000000..13121fb
|
| 269 | |
| 270 | |
| 271 | @@ -0,0 +1,43 @@
|
| 272 | +############################################################################
|
| 273 | +# FindOrtp.cmake
|
| 274 | +# Copyright (C) 2023 Belledonne Communications, Grenoble France
|
| 275 | +#
|
| 276 | +############################################################################
|
| 277 | +#
|
| 278 | +# This program is free software; you can redistribute it and/or
|
| 279 | +# modify it under the terms of the GNU General Public License
|
| 280 | +# as published by the Free Software Foundation; either version 2
|
| 281 | +# of the License, or (at your option) any later version.
|
| 282 | +#
|
| 283 | +# This program is distributed in the hope that it will be useful,
|
| 284 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 285 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| 286 | +# GNU General Public License for more details.
|
| 287 | +#
|
| 288 | +# You should have received a copy of the GNU General Public License
|
| 289 | +# along with this program; if not, write to the Free Software
|
| 290 | +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
| 291 | +#
|
| 292 | +############################################################################
|
| 293 | +#
|
| 294 | +# - Find the ortp include files and library
|
| 295 | +#
|
| 296 | +# ORTP_FOUND - system has lib ortp
|
| 297 | +# ORTP_INCLUDE_DIRS - the ortp include directory
|
| 298 | +# ORTP_LIBRARIES - The library needed to use ortp
|
| 299 | +
|
| 300 | +if(TARGET ortp)
|
| 301 | +
|
| 302 | + set(ORTP_LIBRARIES ortp)
|
| 303 | + get_target_property(ORTP_INCLUDE_DIRS ortp INTERFACE_INCLUDE_DIRECTORIES)
|
| 304 | +
|
| 305 | +
|
| 306 | + include(FindPackageHandleStandardArgs)
|
| 307 | + find_package_handle_standard_args(Ortp
|
| 308 | + DEFAULT_MSG
|
| 309 | + ORTP_INCLUDE_DIRS ORTP_LIBRARIES
|
| 310 | + )
|
| 311 | +
|
| 312 | + mark_as_advanced(ORTP_INCLUDE_DIRS ORTP_LIBRARIES)
|
| 313 | +
|
| 314 | +endif()
|
| 315 | --
|
| 316 | GitLab
|
| 317 |
|
| 318 | From b5aea9bdaeecd99f6fc5601bfb88541d4e55841b Mon Sep 17 00:00:00 2001
|
| 319 | From: =?UTF-8?q?Micka=C3=ABl=20Turnel?=
|
| 320 | <[email protected]>
|
| 321 | Date: Fri, 23 Jun 2023 11:05:24 +0200
|
| 322 | Subject: [PATCH] Change the library path in the binary dir so it can be
|
| 323 | retrieved easily by testers
|
| 324 |
|
| 325 | ---
|
| 326 | CMakeLists.txt | 1 +
|
| 327 | 1 file changed, 1 insertion(+)
|
| 328 |
|
| 329 | diff --git a/CMakeLists.txt b/CMakeLists.txt
|
| 330 | index fd5b52e..ab3e651 100644
|
| 331 | |
| 332 | |
| 333 | @@ -24,6 +24,7 @@ cmake_minimum_required(VERSION 3.22)
|
| 334 |
|
| 335 | project(mswebrtc VERSION 1.1.1 LANGUAGES C CXX)
|
| 336 |
|
| 337 | +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/mediastreamer2/plugins")
|
| 338 |
|
| 339 | set(PACKAGE "${PROJECT_NAME}")
|
| 340 | set(PACKAGE_NAME "${PROJECT_NAME}")
|
| 341 | --
|
| 342 | GitLab
|
| 343 |
|
| 344 | From 1809337d6191ec40f88191b5ce07cfb01ed07b20 Mon Sep 17 00:00:00 2001
|
| 345 | From: Ghislain MARY <[email protected]>
|
| 346 | Date: Tue, 20 Jun 2023 11:47:00 +0200
|
| 347 | Subject: [PATCH] Improve CMake find_package functionality.
|
| 348 |
|
| 349 | ---
|
| 350 | CMakeLists.txt | 30 ++++-----------
|
| 351 | build/CMakeLists.txt | 3 +-
|
| 352 | cmake/FindBcToolbox.cmake | 67 ----------------------------------
|
| 353 | cmake/FindMediastreamer2.cmake | 46 -----------------------
|
| 354 | cmake/FindOrtp.cmake | 43 ----------------------
|
| 355 | 5 files changed, 10 insertions(+), 179 deletions(-)
|
| 356 | delete mode 100644 cmake/FindBcToolbox.cmake
|
| 357 | delete mode 100644 cmake/FindMediastreamer2.cmake
|
| 358 | delete mode 100644 cmake/FindOrtp.cmake
|
| 359 |
|
| 360 | diff --git a/CMakeLists.txt b/CMakeLists.txt
|
| 361 | index ab3e651..a869908 100644
|
| 362 | |
| 363 | |
| 364 | @@ -22,7 +22,7 @@
|
| 365 |
|
| 366 | cmake_minimum_required(VERSION 3.22)
|
| 367 |
|
| 368 | -project(mswebrtc VERSION 1.1.1 LANGUAGES C CXX)
|
| 369 | +project(MSWebRTC VERSION 1.1.1 LANGUAGES C CXX)
|
| 370 |
|
| 371 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/mediastreamer2/plugins")
|
| 372 |
|
| 373 | @@ -60,20 +60,8 @@ if(NOT CMAKE_INSTALL_RPATH AND CMAKE_INSTALL_PREFIX)
|
| 374 | message(STATUS "Setting install rpath to ${CMAKE_INSTALL_RPATH}")
|
| 375 | endif()
|
| 376 |
|
| 377 | -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
| 378 | -
|
| 379 | -find_package(BcToolbox)
|
| 380 | -if(NOT BCTOOLBOX_FOUND)
|
| 381 | - find_package(bctoolbox REQUIRED CONFIG)
|
| 382 | -endif()
|
| 383 | -find_package(Ortp)
|
| 384 | -if(NOT ORTP_FOUND)
|
| 385 | - find_package(ortp REQUIRED CONFIG)
|
| 386 | -endif()
|
| 387 | -find_package(Mediastreamer2)
|
| 388 | -if(NOT MEDIASTREAMER2_FOUND)
|
| 389 | - find_package(Mediastreamer2 REQUIRED CONFIG)
|
| 390 | -endif()
|
| 391 | +find_package(BCToolbox 5.3.0 REQUIRED)
|
| 392 | +find_package(Mediastreamer2 5.3.0 REQUIRED)
|
| 393 |
|
| 394 | find_library(LIBM NAMES m)
|
| 395 |
|
| 396 | @@ -92,7 +80,7 @@ endif()
|
| 397 | if(ENABLE_VAD)
|
| 398 | set(BUILD_VAD 1)
|
| 399 | endif()
|
| 400 | -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
| 401 | +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
|
| 402 |
|
| 403 | set(WEBRTC_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/webrtc")
|
| 404 | set(WEBRTC_SRC_DIR "${WEBRTC_ROOT_DIR}/webrtc")
|
| 405 | @@ -419,8 +407,6 @@ if(LIBM)
|
| 406 | list(APPEND LIBS ${LIBM})
|
| 407 | endif()
|
| 408 |
|
| 409 | -set(MS2_PLUGINS_DIR "${MEDIASTREAMER2_PLUGINS_LOCATION}")
|
| 410 | -
|
| 411 | if(BUILD_SHARED_LIBS)
|
| 412 | if(IOS)
|
| 413 | add_library(mswebrtc SHARED ${SOURCE_FILES})
|
| 414 | @@ -430,7 +416,7 @@ if(BUILD_SHARED_LIBS)
|
| 415 | else()
|
| 416 | add_library(mswebrtc STATIC ${SOURCE_FILES})
|
| 417 | endif()
|
| 418 | -target_link_libraries(mswebrtc PRIVATE mediastreamer2 ortp bctoolbox ${LIBS})
|
| 419 | +target_link_libraries(mswebrtc PRIVATE ${Mediastreamer2_TARGET} ${LIBS})
|
| 420 | set_target_properties(mswebrtc PROPERTIES LINKER_LANGUAGE CXX)
|
| 421 | if(BUILD_SHARED_LIBS)
|
| 422 | if(APPLE)
|
| 423 | @@ -462,9 +448,9 @@ if(BUILD_SHARED_LIBS)
|
| 424 | endif()
|
| 425 |
|
| 426 | install(TARGETS mswebrtc
|
| 427 | - RUNTIME DESTINATION ${MS2_PLUGINS_DIR}
|
| 428 | - LIBRARY DESTINATION ${MS2_PLUGINS_DIR}
|
| 429 | - ARCHIVE DESTINATION ${MS2_PLUGINS_DIR}
|
| 430 | + RUNTIME DESTINATION ${Mediastreamer2_PLUGINS_DIR}
|
| 431 | + LIBRARY DESTINATION ${Mediastreamer2_PLUGINS_DIR}
|
| 432 | + ARCHIVE DESTINATION ${Mediastreamer2_PLUGINS_DIR}
|
| 433 | FRAMEWORK DESTINATION Frameworks
|
| 434 | PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
| 435 | )
|
| 436 | diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt
|
| 437 | index 82694c6..8f9108b 100755
|
| 438 | |
| 439 | |
| 440 | @@ -21,7 +21,8 @@
|
| 441 | ############################################################################
|
| 442 |
|
| 443 | if(NOT CPACK_PACKAGE_NAME)
|
| 444 | - set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
|
| 445 | + string(TOLOWER "${PROJECT_NAME}" LOWERCASE_PROJECT_NAME)
|
| 446 | + set(CPACK_PACKAGE_NAME "${LOWERCASE_PROJECT_NAME}")
|
| 447 | endif()
|
| 448 |
|
| 449 | set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../COPYING")
|
| 450 | diff --git a/cmake/FindBcToolbox.cmake b/cmake/FindBcToolbox.cmake
|
| 451 | deleted file mode 100644
|
| 452 | index 5766478..0000000
|
| 453 | |
| 454 | |
| 455 | @@ -1,67 +0,0 @@
|
| 456 | -############################################################################
|
| 457 | -# FindBctoolbox.cmake
|
| 458 | -# Copyright (C) 2023 Belledonne Communications, Grenoble France
|
| 459 | -#
|
| 460 | -############################################################################
|
| 461 | -#
|
| 462 | -# This program is free software; you can redistribute it and/or
|
| 463 | -# modify it under the terms of the GNU General Public License
|
| 464 | -# as published by the Free Software Foundation; either version 2
|
| 465 | -# of the License, or (at your option) any later version.
|
| 466 | -#
|
| 467 | -# This program is distributed in the hope that it will be useful,
|
| 468 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 469 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| 470 | -# GNU General Public License for more details.
|
| 471 | -#
|
| 472 | -# You should have received a copy of the GNU General Public License
|
| 473 | -# along with this program; if not, write to the Free Software
|
| 474 | -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
| 475 | -#
|
| 476 | -############################################################################
|
| 477 | -#
|
| 478 | -# - Find the bctoolbox include files and library
|
| 479 | -#
|
| 480 | -# BCTOOLBOX_FOUND - System has lib bctoolbox
|
| 481 | -# BCTOOLBOX_INCLUDE_DIRS - The bctoolbox include directories
|
| 482 | -# BCTOOLBOX_LIBRARIES - The libraries needed to use bctoolbox
|
| 483 | -# BCTOOLBOX_CMAKE_DIR - The bctoolbox cmake directory
|
| 484 | -# BCTOOLBOX_CORE_FOUND - System has core bctoolbox
|
| 485 | -# BCTOOLBOX_CORE_INCLUDE_DIRS - The core bctoolbox include directories
|
| 486 | -# BCTOOLBOX_CORE_LIBRARIES - The core bctoolbox libraries
|
| 487 | -# BCTOOLBOX_TESTER_FOUND - System has bctoolbox tester
|
| 488 | -# BCTOOLBOX_TESTER_INCLUDE_DIRS - The bctoolbox tester include directories
|
| 489 | -# BCTOOLBOX_TESTER_LIBRARIES - The bctoolbox tester libraries
|
| 490 | -
|
| 491 | -if(TARGET bctoolbox)
|
| 492 | -
|
| 493 | - set(BCTOOLBOX_CORE_LIBRARIES bctoolbox)
|
| 494 | - get_target_property(BCTOOLBOX_CORE_INCLUDE_DIRS bctoolbox INTERFACE_INCLUDE_DIRECTORIES)
|
| 495 | - set(BCTOOLBOX_CORE_FOUND TRUE)
|
| 496 | - get_target_property(BCTOOLBOX_SOURCE_DIR bctoolbox SOURCE_DIR)
|
| 497 | - set(BCTOOLBOX_CMAKE_DIR "${BCTOOLBOX_SOURCE_DIR}/../cmake")
|
| 498 | - if(TARGET bctoolbox-tester)
|
| 499 | - set(BCTOOLBOX_TESTER_LIBRARIES bctoolbox-tester)
|
| 500 | - get_target_property(BCTOOLBOX_TESTER_INCLUDE_DIRS bctoolbox-tester INTERFACE_INCLUDE_DIRECTORIES)
|
| 501 | - set(BCTOOLBOX_TESTER_FOUND TRUE)
|
| 502 | - set(BCTOOLBOX_TESTER_COMPONENT_VARIABLES BCTOOLBOX_TESTER_FOUND BCTOOLBOX_TESTER_INCLUDE_DIRS BCTOOLBOX_TESTER_LIBRARIES)
|
| 503 | - endif()
|
| 504 | - set(BCTOOLBOX_LIBRARIES ${BCTOOLBOX_CORE_LIBRARIES} ${BCTOOLBOX_TESTER_LIBRARIES})
|
| 505 | - set(BCTOOLBOX_INCLUDE_DIRS ${BCTOOLBOX_CORE_INCLUDE_DIRS} ${BCTOOLBOX_TESTER_INCLUDE_DIRS})
|
| 506 | -
|
| 507 | -
|
| 508 | - include(FindPackageHandleStandardArgs)
|
| 509 | - find_package_handle_standard_args(BcToolbox
|
| 510 | - DEFAULT_MSG
|
| 511 | - BCTOOLBOX_INCLUDE_DIRS BCTOOLBOX_LIBRARIES BCTOOLBOX_CMAKE_DIR
|
| 512 | - BCTOOLBOX_CORE_FOUND BCTOOLBOX_CORE_INCLUDE_DIRS BCTOOLBOX_CORE_LIBRARIES
|
| 513 | - ${BCTOOLBOX_TESTER_COMPONENT_VARIABLES}
|
| 514 | - )
|
| 515 | -
|
| 516 | - mark_as_advanced(
|
| 517 | - BCTOOLBOX_INCLUDE_DIRS BCTOOLBOX_LIBRARIES BCTOOLBOX_CMAKE_DIR
|
| 518 | - BCTOOLBOX_CORE_FOUND BCTOOLBOX_CORE_INCLUDE_DIRS BCTOOLBOX_CORE_LIBRARIES
|
| 519 | - ${BCTOOLBOX_TESTER_COMPONENT_VARIABLES}
|
| 520 | - )
|
| 521 | -
|
| 522 | -endif()
|
| 523 | diff --git a/cmake/FindMediastreamer2.cmake b/cmake/FindMediastreamer2.cmake
|
| 524 | deleted file mode 100644
|
| 525 | index 64ac8f2..0000000
|
| 526 | |
| 527 | |
| 528 | @@ -1,46 +0,0 @@
|
| 529 | -############################################################################
|
| 530 | -# FindMediastreamer2.cmake
|
| 531 | -# Copyright (C) 2023 Belledonne Communications, Grenoble France
|
| 532 | -#
|
| 533 | -############################################################################
|
| 534 | -#
|
| 535 | -# This program is free software; you can redistribute it and/or
|
| 536 | -# modify it under the terms of the GNU General Public License
|
| 537 | -# as published by the Free Software Foundation; either version 2
|
| 538 | -# of the License, or (at your option) any later version.
|
| 539 | -#
|
| 540 | -# This program is distributed in the hope that it will be useful,
|
| 541 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 542 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| 543 | -# GNU General Public License for more details.
|
| 544 | -#
|
| 545 | -# You should have received a copy of the GNU General Public License
|
| 546 | -# along with this program; if not, write to the Free Software
|
| 547 | -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
| 548 | -#
|
| 549 | -############################################################################
|
| 550 | -#
|
| 551 | -# - Find the mediastreamer2 include files and library
|
| 552 | -#
|
| 553 | -# MEDIASTREAMER2_FOUND - system has lib mediastreamer2
|
| 554 | -# MEDIASTREAMER2_INCLUDE_DIRS - the mediasteamer2 include directory
|
| 555 | -# MEDIASTREAMER2_LIBRARIES - The library needed to use mediasteamer2
|
| 556 | -# MEDIASTREAMER2_PLUGINS_LOCATION - The location of the mediastreamer2 plugins
|
| 557 | -
|
| 558 | -if(TARGET mediastreamer2)
|
| 559 | -
|
| 560 | - set(MEDIASTREAMER2_LIBRARIES mediastreamer2)
|
| 561 | - get_target_property(MEDIASTREAMER2_INCLUDE_DIRS mediastreamer2 INTERFACE_INCLUDE_DIRECTORIES)
|
| 562 | - define_property(TARGET PROPERTY "MS2_PLUGINS" BRIEF_DOCS "Stores the location of mediastreamer2 plugins" FULL_DOCS "Stores the location of mediastreamer2 plugins")
|
| 563 | - get_target_property(MEDIASTREAMER2_PLUGINS_LOCATION mediastreamer2 MS2_PLUGINS)
|
| 564 | -
|
| 565 | -
|
| 566 | - include(FindPackageHandleStandardArgs)
|
| 567 | - find_package_handle_standard_args(Mediastreamer2
|
| 568 | - DEFAULT_MSG
|
| 569 | - MEDIASTREAMER2_INCLUDE_DIRS MEDIASTREAMER2_LIBRARIES
|
| 570 | - )
|
| 571 | -
|
| 572 | - mark_as_advanced(MEDIASTREAMER2_INCLUDE_DIRS MEDIASTREAMER2_LIBRARIES)
|
| 573 | -
|
| 574 | -endif()
|
| 575 | diff --git a/cmake/FindOrtp.cmake b/cmake/FindOrtp.cmake
|
| 576 | deleted file mode 100644
|
| 577 | index 13121fb..0000000
|
| 578 | |
| 579 | |
| 580 | @@ -1,43 +0,0 @@
|
| 581 | -############################################################################
|
| 582 | -# FindOrtp.cmake
|
| 583 | -# Copyright (C) 2023 Belledonne Communications, Grenoble France
|
| 584 | -#
|
| 585 | -############################################################################
|
| 586 | -#
|
| 587 | -# This program is free software; you can redistribute it and/or
|
| 588 | -# modify it under the terms of the GNU General Public License
|
| 589 | -# as published by the Free Software Foundation; either version 2
|
| 590 | -# of the License, or (at your option) any later version.
|
| 591 | -#
|
| 592 | -# This program is distributed in the hope that it will be useful,
|
| 593 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 594 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| 595 | -# GNU General Public License for more details.
|
| 596 | -#
|
| 597 | -# You should have received a copy of the GNU General Public License
|
| 598 | -# along with this program; if not, write to the Free Software
|
| 599 | -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
| 600 | -#
|
| 601 | -############################################################################
|
| 602 | -#
|
| 603 | -# - Find the ortp include files and library
|
| 604 | -#
|
| 605 | -# ORTP_FOUND - system has lib ortp
|
| 606 | -# ORTP_INCLUDE_DIRS - the ortp include directory
|
| 607 | -# ORTP_LIBRARIES - The library needed to use ortp
|
| 608 | -
|
| 609 | -if(TARGET ortp)
|
| 610 | -
|
| 611 | - set(ORTP_LIBRARIES ortp)
|
| 612 | - get_target_property(ORTP_INCLUDE_DIRS ortp INTERFACE_INCLUDE_DIRECTORIES)
|
| 613 | -
|
| 614 | -
|
| 615 | - include(FindPackageHandleStandardArgs)
|
| 616 | - find_package_handle_standard_args(Ortp
|
| 617 | - DEFAULT_MSG
|
| 618 | - ORTP_INCLUDE_DIRS ORTP_LIBRARIES
|
| 619 | - )
|
| 620 | -
|
| 621 | - mark_as_advanced(ORTP_INCLUDE_DIRS ORTP_LIBRARIES)
|
| 622 | -
|
| 623 | -endif()
|
| 624 | --
|
| 625 | GitLab
|
| 626 |
|