@@ -26,7 +26,7 @@
option(CATCH_USE_VALGRIND "Perform SelfTests with Valgrind" OFF)
option(CATCH_BUILD_TESTING "Build SelfTest project" ON)
option(CATCH_BUILD_EXAMPLES "Build documentation examples" OFF)
-option(CATCH_BUILD_EXTRA_TESTS "Build extra tests" OFF)
+option(CATCH_BUILD_EXTRA_TESTS "Build extra tests" ON)
option(CATCH_ENABLE_COVERAGE "Generate coverage for codecov.io" OFF)
option(CATCH_ENABLE_WERROR "Enable all warnings as errors" ON)
option(CATCH_INSTALL_DOCS "Install documentation alongside library" ON)
@@ -94,7 +94,8 @@
int id;
const char* name;
};
-
+ #undef MINSIGSTKSZ
+ #define MINSIGSTKSZ 16384
// 32kb for the alternate stack seems to be sufficient. However, this value
// is experimentally determined, so that's not guaranteed.
static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
@@ -10729,7 +10729,8 @@
int id;
const char* name;
};
-
+ #undef MINSIGSTKSZ
+ #define MINSIGSTKSZ 16384
// 32kb for the alternate stack seems to be sufficient. However, this value
// is experimentally determined, so that's not guaranteed.
static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
@@ -10711,7 +10711,8 @@
int id;
const char* name;
};
-
+ #undef MINSIGSTKSZ
+ #define MINSIGSTKSZ 16384
// 32kb for the alternate stack seems to be sufficient. However, this value
// is experimentally determined, so that's not guaranteed.
static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
@@ -1,17 +1,22 @@
+option(SUPPORT_WEBRTC_TEST "Enable WebRtc support" OFF)
+message(STATUS "LIBWEBRTC_SUPPORT TEST : " ${SUPPORT_WEBRTC_TEST})
+
set(
SOURCE_FILES
+ if (${SUPPORT_WEBRTC_TEST})
src/Device.test.cpp
src/Handler.test.cpp
src/PeerConnection.test.cpp
- src/RemoteSdp.test.cpp
src/SdpUtils.test.cpp
src/mediasoupclient.test.cpp
src/MediaStreamTrackFactory.cpp
src/ortc.test.cpp
- src/fakeParameters.cpp
src/scalabilityMode.test.cpp
- src/tests.cpp
include/FakeTransportListener.hpp
+ endif()
+ src/tests.cpp
+ src/RemoteSdp.test.cpp
+ src/fakeParameters.cpp
include/MediaStreamTrackFactory.hpp
include/helpers.hpp
include/fakeParameters.hpp
@@ -62,9 +67,11 @@
target_link_libraries(test_mediasoupclient PRIVATE ${CMAKE_DL_LIBS})
# Source Dependencies.
-add_subdirectory(deps/libwebrtc "${CMAKE_CURRENT_BINARY_DIR}/libwebrtc")
+if (${SUPPORT_WEBRTC_TEST})
+ add_subdirectory(deps/libwebrtc "${CMAKE_CURRENT_BINARY_DIR}/libwebrtc")
-# Public (interface) dependencies.
-target_link_libraries(test_mediasoupclient PUBLIC
- webrtc
-)
+ # Public (interface) dependencies.
+ target_link_libraries(test_mediasoupclient PUBLIC
+ webrtc
+ )
+endif()
@@ -21,17 +21,20 @@
option(MEDIASOUPCLIENT_BUILD_TESTS "Build unit tests" OFF)
option(MEDIASOUPCLIENT_LOG_TRACE "Enable MSC_LOG_TRACE (See Logger.hpp)" OFF)
option(MEDIASOUPCLIENT_LOG_DEV "Enable MSC_LOG_DEV (See Logger.hpp)" OFF)
+option(MEDIASOUPCLIENT_SUPPORT_WEBRTC "Enable WebRtc support" OFF)
-# Project configuration.
-set(LIBWEBRTC_INCLUDE_PATH "" CACHE STRING "libwebrtc include path")
-set(LIBWEBRTC_BINARY_PATH "" CACHE STRING "libwebrtc binary path")
+if (${MEDIASOUPCLIENT_SUPPORT_WEBRTC})
+ # Project configuration.
+ set(LIBWEBRTC_INCLUDE_PATH "" CACHE STRING "libwebrtc include path")
+ set(LIBWEBRTC_BINARY_PATH "" CACHE STRING "libwebrtc binary path")
+
+ if(NOT LIBWEBRTC_INCLUDE_PATH)
+ message(FATAL_ERROR "LIBWEBRTC_INCLUDE_PATH not provided")
+ endif()
-if(NOT LIBWEBRTC_INCLUDE_PATH)
- message(FATAL_ERROR "LIBWEBRTC_INCLUDE_PATH not provided")
-endif()
-
-if(NOT LIBWEBRTC_BINARY_PATH)
+ if(NOT LIBWEBRTC_BINARY_PATH)
message(FATAL_ERROR "LIBWEBRTC_BINARY_PATH not provided")
+ endif()
endif()
message("\n
@@ -40,6 +43,7 @@
message(STATUS "MEDIASOUPCLIENT_LOG_DEV : " ${MEDIASOUPCLIENT_LOG_DEV})
message(STATUS "LIBWEBRTC_INCLUDE_PATH : " ${LIBWEBRTC_INCLUDE_PATH})
message(STATUS "LIBWEBRTC_BINARY_PATH : " ${LIBWEBRTC_BINARY_PATH})
+message(STATUS "LIBWEBRTC_SUPPORT : " ${MEDIASOUPCLIENT_SUPPORT_WEBRTC})
message("")
# GCC >= 4.9 is required due to std::regex use.
@@ -56,10 +60,20 @@
set(HEADER_FILES
include/mediasoupclient.hpp
)
-
-set(
- SOURCE_FILES
- src/Consumer.cpp
+if (${MEDIASOUPCLIENT_SUPPORT_WEBRTC})
+ set(
+ SUPPORT_WEBRTC_SOURCE_FILES
+ src/scalabilityMode.cpp
+ src/sdp/MediaSection.cpp
+ src/sdp/RemoteSdp.cpp
+ include/Logger.hpp
+ include/MediaSoupClientErrors.hpp
+ include/mediasoupclient.hpp
+ include/scalabilityMode.hpp
+ include/sdp/MediaSection.hpp
+ include/sdp/RemoteSdp.hpp
+ include/sdp/Utils.hpp
+ src/Consumer.cpp
src/DataConsumer.cpp
src/DataProducer.cpp
src/Device.cpp
@@ -70,28 +84,36 @@
src/Transport.cpp
src/mediasoupclient.cpp
src/ortc.cpp
- src/scalabilityMode.cpp
- src/sdp/MediaSection.cpp
- src/sdp/RemoteSdp.cpp
- src/sdp/Utils.cpp
+ src/sdp/Utils.cpp
include/Consumer.hpp
include/Device.hpp
include/Handler.hpp
- include/Logger.hpp
- include/MediaSoupClientErrors.hpp
- include/PeerConnection.hpp
+ include/PeerConnection.hpp
include/Producer.hpp
include/Transport.hpp
- include/mediasoupclient.hpp
include/ortc.hpp
- include/scalabilityMode.hpp
- include/sdp/MediaSection.hpp
- include/sdp/RemoteSdp.hpp
- include/sdp/Utils.hpp
+ )
+endif()
+set (
+ SOURCE_FILES
+ src/scalabilityMode.cpp
+ src/sdp/MediaSection.cpp
+ src/sdp/RemoteSdp.cpp
+ include/Logger.hpp
+ include/MediaSoupClientErrors.hpp
+ include/mediasoupclient.hpp
+ include/scalabilityMode.hpp
+ include/sdp/MediaSection.hpp
+ include/sdp/RemoteSdp.hpp
+ include/sdp/Utils.hpp
)
-
# Create target.
-add_library(${PROJECT_NAME} STATIC ${SOURCE_FILES})
+
+if (${MEDIASOUPCLIENT_SUPPORT_WEBRTC})
+ add_library(${PROJECT_NAME} STATIC ${SUPPORT_WEBRTC_SOURCE_FILES})
+else()
+ add_library(${PROJECT_NAME} STATIC ${SOURCE_FILES})
+endif()
if(${MEDIASOUPCLIENT_LOG_TRACE})
target_compile_definitions(${PROJECT_NAME}
@@ -107,7 +129,7 @@
# Source Dependencies.
add_subdirectory(deps/libsdptransform "${CMAKE_CURRENT_BINARY_DIR}/libsdptransform")
-
+add_subdirectory(deps/catch "${CMAKE_CURRENT_BINARY_DIR}/catch")
# Add some compile flags to our source files.
if(MSVC)
set_source_files_properties(${SOURCE_FILES}
@@ -130,17 +152,21 @@
# Public (interface) dependencies.
target_link_libraries(${PROJECT_NAME} PUBLIC
sdptransform
- ${LIBWEBRTC_BINARY_PATH}/libwebrtc${CMAKE_STATIC_LIBRARY_SUFFIX}
+ if (${MEDIASOUPCLIENT_SUPPORT_WEBRTC})
+ ${LIBWEBRTC_BINARY_PATH}/libwebrtc${CMAKE_STATIC_LIBRARY_SUFFIX}
+ endif()
)
# Compile definitions for libwebrtc.
-target_compile_definitions(${PROJECT_NAME} PUBLIC
- $<$<NOT:$<PLATFORM_ID:Windows>>:WEBRTC_POSIX>
- $<$<PLATFORM_ID:Windows>:WEBRTC_WIN>
- $<$<PLATFORM_ID:Windows>:NOMINMAX>
- $<$<PLATFORM_ID:Windows>:WIN32_LEAN_AND_MEAN>
- $<$<PLATFORM_ID:Darwin>:WEBRTC_MAC>
-)
+if (${MEDIASOUPCLIENT_SUPPORT_WEBRTC})
+ target_compile_definitions(${PROJECT_NAME} PUBLIC
+ $<$<NOT:$<PLATFORM_ID:Windows>>:WEBRTC_POSIX>
+ $<$<PLATFORM_ID:Windows>:WEBRTC_WIN>
+ $<$<PLATFORM_ID:Windows>:NOMINMAX>
+ $<$<PLATFORM_ID:Windows>:WIN32_LEAN_AND_MEAN>
+ $<$<PLATFORM_ID:Darwin>:WEBRTC_MAC>
+ )
+endif()
install(TARGETS mediasoupclient DESTINATION lib)
install(FILES ${HEADER_FILES} DESTINATION include/mediasoupclient)