@@ -4,6 +4,7 @@ project (webrtc-streamer)
44set (WEBRTCROOT "${CMAKE_CURRENT_SOURCE_DIR} /../webrtc" CACHE STRING "WEBRTC root directory" )
55set (WEBRTCDESKTOPCAPTURE "ON" CACHE STRING "WEBRTC Desktop capture" )
66set (WEBRTCCHROMEBRANDED "ON" CACHE STRING "WEBRTC Chrome branded" )
7+ set (WEBRTCVERSION "c23fe2f" CACHE STRING "WEBRTC version" )
78
89if (NOT CMAKE_BUILD_TYPE )
910set (CMAKE_BUILD_TYPE "Release" )
@@ -14,23 +15,6 @@ set (CMAKE_POSITION_INDEPENDENT_CODE ON)
1415set (CMAKE_CXX_STANDARD 20)
1516set (CMAKE_CXX_EXTENSIONS OFF )
1617
17- # build version identifier
18- find_package (Git)
19- if (GIT_FOUND)
20- EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} submodule update --init)
21- EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty OUTPUT_VARIABLE PROJECTVERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
22- set (VERSION "${PROJECTVERSION} /${CMAKE_SYSTEM_NAME} -${CMAKE_SYSTEM_PROCESSOR} " )
23-
24- EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} -C civetweb describe --tags --always --dirty OUTPUT_VARIABLE CIVETVERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
25- set (VERSION "${VERSION} civetweb@${CIVETVERSION} " )
26-
27- EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} -C ${WEBRTCROOT} /src describe --tags --always --dirty OUTPUT_VARIABLE WEBRTCVERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
28- set (VERSION "${VERSION} webrtc@${WEBRTCVERSION} " )
29-
30- EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} -C live555helper describe --tags --always --dirty OUTPUT_VARIABLE LIVEVERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
31- set (VERSION "${VERSION} live555helper@${LIVEVERSION} " )
32- endif ()
33- add_definitions (-DVERSION=\"${VERSION} \")
3418
3519# set CMAKE_FIND_ROOT_PATH to search package in WebRTC sysroot
3620if (CMAKE_SYSTEM_PROCESSOR MATCHES "armv.*" )
@@ -53,6 +37,20 @@ MESSAGE("PulseAudio_FOUND = ${PulseAudio_FOUND}")
5337set (WEBRTCOBJS ${WEBRTCROOT} /src/out/${CMAKE_BUILD_TYPE} /obj)
5438
5539if (NOT EXISTS ${WEBRTCOBJS} /${CMAKE_STATIC_LIBRARY_PREFIX} webrtc${CMAKE_STATIC_LIBRARY_SUFFIX} )
40+ EXECUTE_PROCESS (WORKING_DIRECTORY ${WEBRTCROOT} /src COMMAND git checkout ${WEBRTCVERSION} )
41+
42+ file (READ ${WEBRTCROOT} /src/DEPS filecontent)
43+ string (REPLACE "'src/resources'],$" "'src/resources'],'condition':'rtc_include_tests==true'," filecontent "${filecontent} " )
44+ file (WRITE ${WEBRTCROOT} /src/DEPS "${filecontent} " )
45+
46+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "armv.*" )
47+ EXECUTE_PROCESS (WORKING_DIRECTORY ${WEBRTCROOT} /src/build /linux/sysroot_scripts COMMAND install -sysroot.py --arch=arm)
48+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "arm64" )
49+ EXECUTE_PROCESS (WORKING_DIRECTORY ${WEBRTCROOT} /src/build /linux/sysroot_scripts COMMAND install -sysroot.py --arch=arm64)
50+ endif ()
51+
52+ EXECUTE_PROCESS (WORKING_DIRECTORY ${WEBRTCROOT} /src COMMAND gclient sync)
53+
5654 set (WEBRTCARGS rtc_include_tests=false \nrtc_enable_protobuf=false \nrtc_build_examples=false \nrtc_build_tools=false \ntreat_warnings_as_errors=false \nenable_js_protobuf=false \nuse_glib=false \nuse_lld=false \n)
5755 set (WEBRTCARGS use_custom_libcxx=false \nlibyuv_use_sme=false \n${WEBRTCARGS} )
5856 # debug/release
@@ -151,6 +149,25 @@ FILE(GLOB_RECURSE WEBRTJSONCPPCOBJS ${WEBRTCOBJS}/third_party/jsoncpp/jsoncpp/*$
151149FILE (GLOB_RECURSE WEBRTP2POBJ ${WEBRTCOBJS} /p2p/p2p_server_utils/*${CMAKE_C_OUTPUT_EXTENSION} )
152150SET (WEBRTCEXTRAOBJS ${WEBRTJSONCPPCOBJS} ${WEBRTP2POBJ} ${WEBRTCCOMOBJ} )
153151
152+ # build version identifier
153+ find_package (Git)
154+ if (GIT_FOUND)
155+ EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} submodule update --init)
156+ EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty OUTPUT_VARIABLE PROJECTVERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
157+ set (VERSION "${PROJECTVERSION} /${CMAKE_SYSTEM_NAME} -${CMAKE_SYSTEM_PROCESSOR} " )
158+
159+ EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} -C civetweb describe --tags --always --dirty OUTPUT_VARIABLE CIVETVERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
160+ set (VERSION "${VERSION} civetweb@${CIVETVERSION} " )
161+
162+ EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} -C ${WEBRTCROOT} /src describe --tags --always --dirty OUTPUT_VARIABLE WEBRTCVERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
163+ set (VERSION "${VERSION} webrtc@${WEBRTCVERSION} " )
164+
165+ EXECUTE_PROCESS (COMMAND ${GIT_EXECUTABLE} -C live555helper describe --tags --always --dirty OUTPUT_VARIABLE LIVEVERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
166+ set (VERSION "${VERSION} live555helper@${LIVEVERSION} " )
167+ endif ()
168+ add_definitions (-DVERSION=\"${VERSION} \")
169+ MESSAGE ("VERSION = ${VERSION} " )
170+
154171# project target
155172FILE (GLOB SOURCE src/*.cpp)
156173add_executable (${CMAKE_PROJECT_NAME} ${SOURCE} ${WEBRTCEXTRAOBJS} )
0 commit comments