From f496ce1a290811a6e8e0bd8045aba8241275bd45 Mon Sep 17 00:00:00 2001 From: Axel Isouard Date: Thu, 30 Mar 2017 11:28:08 +0200 Subject: [PATCH 1/7] (#10): Add webrtc_tests target to ninja build command --- CMakeLists.txt | 4 ++++ webrtc/CMakeLists.txt.in | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index ffee487..c282e60 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,6 +60,10 @@ set(_WEBRTC_CMAKE_ARGS -DTARGET_OS=${TARGET_OS} -DWEBRTC_PARENT_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc) +if (BUILD_TESTS) + set(_WEBRTC_CMAKE_ARGS ${_WEBRTC_CMAKE_ARGS} -DBUILD_TESTS=${BUILD_TESTS}) +endif (BUILD_TESTS) + if (WEBRTC_BRANCH_HEAD) set(_WEBRTC_CMAKE_ARGS ${_WEBRTC_CMAKE_ARGS} -DWEBRTC_BRANCH_HEAD=${WEBRTC_BRANCH_HEAD}) endif (WEBRTC_BRANCH_HEAD) diff --git a/webrtc/CMakeLists.txt.in b/webrtc/CMakeLists.txt.in index 9a3da7a..1203496 100644 --- a/webrtc/CMakeLists.txt.in +++ b/webrtc/CMakeLists.txt.in @@ -137,6 +137,11 @@ libwebrtc_command( ) set(_NINJA_COMMAND ninja ${NINJA_ARGS} -C ${_NINJA_BUILD_DIR} webrtc system_wrappers_default libjingle_peerconnection) + +if (BUILD_TESTS) + set(_NINJA_COMMAND ${_NINJA_COMMAND} webrtc_tests) +endif (BUILD_TESTS) + libwebrtc_command( NAME webrtc-build COMMAND ${_NINJA_COMMAND} From 8d571cb492073f204ecf86a82e95e49888d8e7a6 Mon Sep 17 00:00:00 2001 From: Axel Isouard Date: Thu, 30 Mar 2017 19:44:36 +0200 Subject: [PATCH 2/7] (#10): State BUILD_TESTS variable inside the README and CHANGELOG --- CHANGELOG.md | 11 +++++++++++ README.md | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a13557..d7eff41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## Version 1.1 + +*TBD* + +[View Issues][v1.1-issues] + +**Features:** + +- Added `BUILD_TESTS` CMake configuration variable + ## Version 1.0 *March 27, 2017* @@ -39,4 +49,5 @@ - Removed BUILD_TESTS flag for now - Fixed static linking +[v1.1-issues]:https://github.com/aisouard/libwebrtc/milestone/1 [v1.0-issues]:https://github.com/aisouard/libwebrtc/milestone/1 diff --git a/README.md b/README.md index bf28e8f..5aa6112 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,10 @@ perform cross-compiling. Generate Red Hat package, defaults to OFF, available under Linux only. +- **BUILD_TESTS** + + Build WebRTC unit tests and mocked classes such as `FakeAudioCaptureModule`. + - **BUILD_SAMPLE** Build an executable located inside the `sample` folder. From b3651f0e14d0a18f83f75280697e11f94fe7784d Mon Sep 17 00:00:00 2001 From: Axel Isouard Date: Sun, 2 Apr 2017 17:45:41 +0200 Subject: [PATCH 3/7] (#5): Set the arch inside Package.cmake and install-sysroot.py argument --- CMakeModules/Package.cmake | 2 ++ webrtc/CMakeLists.txt.in | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeModules/Package.cmake b/CMakeModules/Package.cmake index 2bcf361..de51167 100644 --- a/CMakeModules/Package.cmake +++ b/CMakeModules/Package.cmake @@ -55,6 +55,7 @@ if (UNIX AND NOT APPLE) set(CPACK_DEBIAN_PACKAGE_SECTION "libs") set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://axel.isouard.fr/libwebrtc") set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS TRUE) + set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${_PACKAGE_ARCH}") set(CPACK_GENERATOR "${CPACK_GENERATOR};DEB") endif (BUILD_DEB_PACKAGE) @@ -64,6 +65,7 @@ if (UNIX AND NOT APPLE) set(CPACK_RPM_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION}) set(CPACK_RPM_PACKAGE_URL "https://axel.isouard.fr/libwebrtc") set(CPACK_RPM_PACKAGE_LICENSE "Apache-2.0") + set(CPACK_RPM_PACKAGE_ARCHITECTURE "${_PACKAGE_ARCH}") set(CPACK_GENERATOR "${CPACK_GENERATOR};RPM") endif (BUILD_RPM_PACKAGE) diff --git a/webrtc/CMakeLists.txt.in b/webrtc/CMakeLists.txt.in index 1203496..d02745b 100644 --- a/webrtc/CMakeLists.txt.in +++ b/webrtc/CMakeLists.txt.in @@ -72,7 +72,7 @@ set(_DEPENDENCIES webrtc-clang) if (UNIX AND NOT APPLE) libwebrtc_command( NAME webrtc-toolchain - COMMAND ${PYTHON_EXECUTABLE} ${WEBRTC_PARENT_DIR}/src/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook + COMMAND ${PYTHON_EXECUTABLE} ${WEBRTC_PARENT_DIR}/src/build/linux/sysroot_scripts/install-sysroot.py --arch=${TARGET_CPU} --running-as-hook WORKING_DIRECTORY "${WEBRTC_PARENT_DIR}" COMMENT "Retrieving sysroot" DEPENDS webrtc-sync From f7e01514edb585237a1225d4e8fcabdf94772631 Mon Sep 17 00:00:00 2001 From: Axel Isouard Date: Sun, 2 Apr 2017 18:01:17 +0200 Subject: [PATCH 4/7] (#5): Set the right arch inside install-sysroot.py argument --- webrtc/CMakeLists.txt.in | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/webrtc/CMakeLists.txt.in b/webrtc/CMakeLists.txt.in index d02745b..4060d54 100644 --- a/webrtc/CMakeLists.txt.in +++ b/webrtc/CMakeLists.txt.in @@ -70,9 +70,17 @@ libwebrtc_command( set(_DEPENDENCIES webrtc-clang) if (UNIX AND NOT APPLE) + set(SYSROOT_ARCH ${TARGET_CPU}) + + if (SYSROOT_ARCH STREQUAL "x64") + set(SYSROOT_ARCH "amd64") + elseif (SYSROOT_ARCH STREQUAL "x86") + set(SYSROOT_ARCH "i386") + endif (SYSROOT_ARCH STREQUAL "x64") + libwebrtc_command( NAME webrtc-toolchain - COMMAND ${PYTHON_EXECUTABLE} ${WEBRTC_PARENT_DIR}/src/build/linux/sysroot_scripts/install-sysroot.py --arch=${TARGET_CPU} --running-as-hook + COMMAND ${PYTHON_EXECUTABLE} ${WEBRTC_PARENT_DIR}/src/build/linux/sysroot_scripts/install-sysroot.py --arch=${SYSROOT_ARCH} --running-as-hook WORKING_DIRECTORY "${WEBRTC_PARENT_DIR}" COMMENT "Retrieving sysroot" DEPENDS webrtc-sync From be407aced0dbb54355009c7b116574691f0fdcef Mon Sep 17 00:00:00 2001 From: Axel Isouard Date: Sun, 16 Apr 2017 11:25:36 +0200 Subject: [PATCH 5/7] (#30): Add release 58 support --- CMakeModules/Version.cmake | 2 +- webrtc/CMakeLists.txt.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeModules/Version.cmake b/CMakeModules/Version.cmake index 7e67371..6b5d59d 100644 --- a/CMakeModules/Version.cmake +++ b/CMakeModules/Version.cmake @@ -20,4 +20,4 @@ set(LIBWEBRTC_API_VERSION set(LIBWEBRTC_VERSION ${LIBWEBRTC_API_VERSION}${LIBWEBRTC_BUILD_VERSION}) -set(LIBWEBRTC_WEBRTC_HEAD refs/branch-heads/57) +set(LIBWEBRTC_WEBRTC_HEAD refs/branch-heads/58) diff --git a/webrtc/CMakeLists.txt.in b/webrtc/CMakeLists.txt.in index 4060d54..b6c3874 100644 --- a/webrtc/CMakeLists.txt.in +++ b/webrtc/CMakeLists.txt.in @@ -144,7 +144,7 @@ libwebrtc_command( DEPENDS ${_DEPENDENCIES} ) -set(_NINJA_COMMAND ninja ${NINJA_ARGS} -C ${_NINJA_BUILD_DIR} webrtc system_wrappers_default libjingle_peerconnection) +set(_NINJA_COMMAND ninja ${NINJA_ARGS} -C ${_NINJA_BUILD_DIR} webrtc system_wrappers_default) if (BUILD_TESTS) set(_NINJA_COMMAND ${_NINJA_COMMAND} webrtc_tests) From dcf05181d034296155ad2ea004c96dacb2a23f01 Mon Sep 17 00:00:00 2001 From: mayeut Date: Sat, 19 Aug 2017 19:34:40 +0200 Subject: [PATCH 6/7] Add release 60 support --- CMakeModules/Version.cmake | 2 +- libwebrtc/CMakeLists.txt | 3 ++- sample/main.cpp | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeModules/Version.cmake b/CMakeModules/Version.cmake index 6b5d59d..7d52305 100644 --- a/CMakeModules/Version.cmake +++ b/CMakeModules/Version.cmake @@ -20,4 +20,4 @@ set(LIBWEBRTC_API_VERSION set(LIBWEBRTC_VERSION ${LIBWEBRTC_API_VERSION}${LIBWEBRTC_BUILD_VERSION}) -set(LIBWEBRTC_WEBRTC_HEAD refs/branch-heads/58) +set(LIBWEBRTC_WEBRTC_HEAD refs/branch-heads/60) diff --git a/libwebrtc/CMakeLists.txt b/libwebrtc/CMakeLists.txt index 3bd06ef..f0aebb9 100644 --- a/libwebrtc/CMakeLists.txt +++ b/libwebrtc/CMakeLists.txt @@ -4,7 +4,8 @@ project(libwebrtc) set(_OBJ_EXT ${CMAKE_CXX_OUTPUT_EXTENSION}) file(GLOB_RECURSE _OBJ_FILES - ${WEBRTC_OUTPUT_DIR}/obj/*${_OBJ_EXT}) + ${WEBRTC_OUTPUT_DIR}/obj/*${_OBJ_EXT} + ${WEBRTC_OUTPUT_DIR}/clang_x64/obj/*${_OBJ_EXT}) if (NOT _OBJ_EXT STREQUAL ".o") file(GLOB_RECURSE _OBJ_FILES_ASM diff --git a/sample/main.cpp b/sample/main.cpp index a660fcd..a073972 100644 --- a/sample/main.cpp +++ b/sample/main.cpp @@ -27,7 +27,8 @@ int main(int argc, char **argv) { #ifdef WIN32 rtc::EnsureWinsockInit(); - rtc::Win32Thread w32_thread; + rtc::Win32SocketServer w32_ss; + rtc::Win32Thread w32_thread(&w32_ss); rtc::ThreadManager::Instance()->SetCurrentThread(&w32_thread); #endif From b41505260ed125461f18b45f3588798c08028145 Mon Sep 17 00:00:00 2001 From: Olivier Berthonneau Date: Thu, 1 Feb 2018 18:59:30 -0700 Subject: [PATCH 7/7] Support webrtc release 63 --- CMakeLists.txt | 2 +- CMakeModules/Templates/LibWebRTCConfig.cmake.in | 2 +- CMakeModules/Version.cmake | 2 +- libwebrtc/CMakeLists.txt | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c282e60..84cc179 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -116,7 +116,7 @@ ExternalProject_Add( -DINSTALL_CMAKE_DIR:PATH=${CMAKE_BINARY_DIR}/lib/cmake/LibWebRTC -DTARGET_OS:STRING=${TARGET_OS} -DWEBRTC_OUTPUT_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc/src/out/${_CONFIG} - -DWEBRTC_SOURCE_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc/src/webrtc + -DWEBRTC_SOURCE_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc/src ) if (BUILD_SAMPLE) diff --git a/CMakeModules/Templates/LibWebRTCConfig.cmake.in b/CMakeModules/Templates/LibWebRTCConfig.cmake.in index b582e1a..a07f565 100644 --- a/CMakeModules/Templates/LibWebRTCConfig.cmake.in +++ b/CMakeModules/Templates/LibWebRTCConfig.cmake.in @@ -36,7 +36,7 @@ set(LIBWEBRTC_TARGET_OS "@TARGET_OS@") set(LIBWEBRTC_TARGET_CPU "@TARGET_CPU@") # Include directory -set(LIBWEBRTC_INCLUDE_DIRS "@INSTALL_INCLUDE_DIR@") +set(LIBWEBRTC_INCLUDE_DIRS "@INSTALL_INCLUDE_DIR@" "@INSTALL_INCLUDE_DIR@/webrtc") # Libraries directory set(LIBWEBRTC_LIBRARY_DIRS "@INSTALL_LIB_DIR@") diff --git a/CMakeModules/Version.cmake b/CMakeModules/Version.cmake index 7d52305..9cb1151 100644 --- a/CMakeModules/Version.cmake +++ b/CMakeModules/Version.cmake @@ -20,4 +20,4 @@ set(LIBWEBRTC_API_VERSION set(LIBWEBRTC_VERSION ${LIBWEBRTC_API_VERSION}${LIBWEBRTC_BUILD_VERSION}) -set(LIBWEBRTC_WEBRTC_HEAD refs/branch-heads/60) +set(LIBWEBRTC_WEBRTC_HEAD refs/branch-heads/63) diff --git a/libwebrtc/CMakeLists.txt b/libwebrtc/CMakeLists.txt index f0aebb9..bce1b10 100644 --- a/libwebrtc/CMakeLists.txt +++ b/libwebrtc/CMakeLists.txt @@ -41,8 +41,8 @@ set_target_properties(webrtc PROPERTIES # # Install headers -install(DIRECTORY ${WEBRTC_SOURCE_DIR} - DESTINATION "include" +install(DIRECTORY "${WEBRTC_SOURCE_DIR}/" + DESTINATION "include/webrtc" FILES_MATCHING PATTERN "*.h") #