@@ -193,20 +193,21 @@ else()
193193 if (TOOLCHAIN_BUILD_EXTERNALPROJECTS)
194194
195195 set (WEBRTC_SOURCE_ROOT ${WEBRTC_FETCH_PATH} /src)
196- file (MAKE_DIRECTORY ${WEBRTC_FETCH_PATH} )
197196
198197 ExternalProject_Add (depot-tools
198+ BUILD_IN_SOURCE TRUE
199199 GIT_REPOSITORY https://chromium.googlesource.com/chromium/tools/depot_tools.git
200- GIT_TAG 39b2e4ef
200+ # Tested with 23ad8839bff8e65fff2f1aabd4bc48fef894c4ae but hopefully 'main' continues to work
201+ GIT_TAG main
201202 UPDATE_COMMAND ""
202203 INSTALL_DIR ""
203- CONFIGURE_COMMAND ""
204+ CONFIGURE_COMMAND export PATH=< SOURCE_DIR >: $ENV{PATH} && ensure_bootstrap
204205 BUILD_COMMAND ""
205206 INSTALL_COMMAND ""
206207 )
207208 ExternalProject_Get_Property (depot-tools SOURCE_DIR )
208209 set (DEPOTTOOLS_DIR ${SOURCE_DIR} )
209- set (DEPOTTOOLS_EXPORT export PATH =$ENV{PATH} :${DEPOTTOOLS_DIR} DEPOT_TOOLS_UPDATE=0 )
210+ set (DEPOTTOOLS_EXPORT export PATH =$ENV{PATH} :${DEPOTTOOLS_DIR} )
210211
211212 if (${CMAKE_SYSTEM_NAME} MATCHES "iOS" )
212213 set (WEBRTC_REPO_NAME webrtc_ios)
@@ -228,28 +229,29 @@ else()
228229 # is executed.
229230 if (NOT EXISTS ${WEBRTC_SOURCE_ROOT} )
230231 message (WARNING "WebRTC is not present in ${WEBRTC_SOURCE_ROOT} . Downloading... This takes a loooong time" )
231- set (WEBRTC_FETCH_CMD1 ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_FETCH_PATH} && fetch --nohooks ${WEBRTC_REPO_NAME} && gclient sync --with_branch_heads --with_tags)
232- set (WEBRTC_FETCH_CMD2 ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_SOURCE_ROOT} && git checkout branch-heads/6818)
233- set (WEBRTC_FETCH_CMD3 ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_FETCH_PATH} && gclient sync -D)
234- set (WEBRTC_PATCH_CMD1 cd ${WEBRTC_SOURCE_ROOT} && git apply ${CMAKE_CURRENT_LIST_DIR} /libteamtalk-r6818.patch)
232+ file (MAKE_DIRECTORY ${WEBRTC_FETCH_PATH} )
233+ set (WEBRTC_DOWNLOAD_CMD1 ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_FETCH_PATH} && fetch --nohooks ${WEBRTC_REPO_NAME} )
234+ set (WEBRTC_DOWNLOAD_CMD2 ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_SOURCE_ROOT} && git checkout branch-heads/6818)
235+ set (WEBRTC_DOWNLOAD_CMD3 ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_FETCH_PATH} && gclient sync -D ${TOOLCHAIN_BUILD_MAKEJOBS} )
236+ set (WEBRTC_PATCH_CMD cd ${WEBRTC_SOURCE_ROOT} && git apply ${CMAKE_CURRENT_LIST_DIR} /libteamtalk-r6818.patch)
235237 else ()
236- set (WEBRTC_FETCH_CMD1 true )
237- set (WEBRTC_FETCH_CMD2 true )
238- set (WEBRTC_FETCH_CMD3 true )
239- set (WEBRTC_PATCH_CMD1 true )
240238 message (WARNING "WebRTC is already downloaded to ${WEBRTC_SOURCE_ROOT} . Skipping new fetch and patching" )
239+ set (WEBRTC_DOWNLOAD_CMD1 "" )
240+ set (WEBRTC_DOWNLOAD_CMD2 "" )
241+ set (WEBRTC_DOWNLOAD_CMD3 "" )
242+ set (WEBRTC_PATCH_CMD "" )
241243 endif ()
242244
243245 if (${CMAKE_SYSTEM_NAME} MATCHES "iOS" )
244246 ExternalProject_Add (webrtc-src
245- DOWNLOAD_COMMAND ${WEBRTC_FETCH_CMD1 }
246- COMMAND ${WEBRTC_FETCH_CMD2 }
247- COMMAND ${WEBRTC_FETCH_CMD3 }
248- PATCH_COMMAND ${WEBRTC_PATCH_CMD1 }
249- UPDATE_COMMAND ""
247+ SOURCE_DIR ${WEBRTC_SOURCE_ROOT }
248+ DOWNLOAD_COMMAND ${WEBRTC_DOWNLOAD_CMD1 }
249+ COMMAND ${WEBRTC_DOWNLOAD_CMD2 }
250+ COMMAND ${WEBRTC_DOWNLOAD_CMD3 }
251+ PATCH_COMMAND ${WEBRTC_PATCH_CMD}
250252 INSTALL_DIR ${WEBRTC_INSTALL_ROOT}
251253 CONFIGURE_COMMAND ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_SOURCE_ROOT} && gn gen <INSTALL_DIR >
252- BUILD_COMMAND ${DEPOTTOOLS_EXPORT} && ninja -v -C <INSTALL_DIR > teamtalk
254+ BUILD_COMMAND ${DEPOTTOOLS_EXPORT} && ninja -v ${TOOLCHAIN_BUILD_MAKEJOBS} -C <INSTALL_DIR > teamtalk
253255 INSTALL_COMMAND cd ${WEBRTC_SOURCE_ROOT} && mkdir -p <INSTALL_DIR >/include
254256 COMMAND cd ${WEBRTC_SOURCE_ROOT} && find . -type f -name "*.h" -exec ditto \{\} <INSTALL_DIR >/include/\{\} \$<SEMICOLON >
255257 COMMAND cd ${WEBRTC_SOURCE_ROOT} && find . -type f -name "*.inc" -exec ditto \{\} <INSTALL_DIR >/include/\{\} \$<SEMICOLON >
@@ -258,14 +260,14 @@ else()
258260 )
259261 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Android" )
260262 ExternalProject_Add (webrtc-src
261- DOWNLOAD_COMMAND ${WEBRTC_FETCH_CMD1 }
262- COMMAND ${WEBRTC_FETCH_CMD2 }
263- COMMAND ${WEBRTC_FETCH_CMD3 }
264- PATCH_COMMAND ${WEBRTC_PATCH_CMD1 }
265- UPDATE_COMMAND ""
263+ SOURCE_DIR ${WEBRTC_SOURCE_ROOT }
264+ DOWNLOAD_COMMAND ${WEBRTC_DOWNLOAD_CMD1 }
265+ COMMAND ${WEBRTC_DOWNLOAD_CMD2 }
266+ COMMAND ${WEBRTC_DOWNLOAD_CMD3 }
267+ PATCH_COMMAND ${WEBRTC_PATCH_CMD}
266268 INSTALL_DIR ${WEBRTC_INSTALL_ROOT}
267269 CONFIGURE_COMMAND ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_SOURCE_ROOT} && gn gen <INSTALL_DIR >
268- BUILD_COMMAND ${DEPOTTOOLS_EXPORT} && ninja -v -C <INSTALL_DIR > teamtalk
270+ BUILD_COMMAND ${DEPOTTOOLS_EXPORT} && ninja -v ${TOOLCHAIN_BUILD_MAKEJOBS} -C <INSTALL_DIR > teamtalk
269271 INSTALL_COMMAND cd ${WEBRTC_SOURCE_ROOT} && mkdir -p <INSTALL_DIR >/include
270272 COMMAND cd ${WEBRTC_SOURCE_ROOT} && find . -type f -name "*.h" -exec cp --parents \{\} <INSTALL_DIR >/include/ \$<SEMICOLON >
271273 COMMAND cd ${WEBRTC_SOURCE_ROOT} && find . -type f -name "*.inc" -exec cp -r --parents \{\} <INSTALL_DIR >/include/ \$<SEMICOLON >
@@ -274,34 +276,32 @@ else()
274276 )
275277 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
276278 ExternalProject_Add (webrtc-arm64-src
277- DOWNLOAD_COMMAND ${WEBRTC_FETCH_CMD1 }
278- COMMAND ${WEBRTC_FETCH_CMD2 }
279- COMMAND ${WEBRTC_FETCH_CMD3 }
280- PATCH_COMMAND ${WEBRTC_PATCH_CMD1 }
281- UPDATE_COMMAND ""
279+ SOURCE_DIR ${WEBRTC_SOURCE_ROOT }
280+ DOWNLOAD_COMMAND ${WEBRTC_DOWNLOAD_CMD1 }
281+ COMMAND ${WEBRTC_DOWNLOAD_CMD2 }
282+ COMMAND ${WEBRTC_DOWNLOAD_CMD3 }
283+ PATCH_COMMAND ${WEBRTC_PATCH_CMD}
282284 INSTALL_DIR ${WEBRTC_INSTALL_ROOT} -arm64
283285 CONFIGURE_COMMAND ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_SOURCE_ROOT} && gn gen <INSTALL_DIR >
284- BUILD_COMMAND ${DEPOTTOOLS_EXPORT} && ninja -v -C <INSTALL_DIR > teamtalk
286+ BUILD_COMMAND ${DEPOTTOOLS_EXPORT} && ninja -v ${TOOLCHAIN_BUILD_MAKEJOBS} -C <INSTALL_DIR > teamtalk
285287 INSTALL_COMMAND cd ${WEBRTC_SOURCE_ROOT} && mkdir -p <INSTALL_DIR >/include
286288 COMMAND cd ${WEBRTC_SOURCE_ROOT} && find . -type f -name "*.h" -exec ditto \{\} <INSTALL_DIR >/include/\{\} \$<SEMICOLON >
287289 COMMAND cd ${WEBRTC_SOURCE_ROOT} && find . -type f -name "*.inc" -exec ditto \{\} <INSTALL_DIR >/include/\{\} \$<SEMICOLON >
288290 BUILD_BYPRODUCTS <INSTALL_DIR >/obj/modules/audio_processing/libteamtalk.a
289291 DEPENDS depot-tools
290292 )
291293 ExternalProject_Add (webrtc-intel-src
292- DOWNLOAD_COMMAND ${WEBRTC_FETCH_CMD1}
293- COMMAND ${WEBRTC_FETCH_CMD2}
294- COMMAND ${WEBRTC_FETCH_CMD3}
295- PATCH_COMMAND ${WEBRTC_PATCH_CMD1}
296- UPDATE_COMMAND ""
294+ SOURCE_DIR ${WEBRTC_SOURCE_ROOT}
295+ DOWNLOAD_COMMAND ""
296+ PATCH_COMMAND ""
297297 INSTALL_DIR ${WEBRTC_INSTALL_ROOT} -intel
298298 CONFIGURE_COMMAND ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_SOURCE_ROOT} && gn gen <INSTALL_DIR >
299- BUILD_COMMAND ${DEPOTTOOLS_EXPORT} && ninja -v -C <INSTALL_DIR > teamtalk
299+ BUILD_COMMAND ${DEPOTTOOLS_EXPORT} && ninja -v ${TOOLCHAIN_BUILD_MAKEJOBS} -C <INSTALL_DIR > teamtalk
300300 INSTALL_COMMAND cd ${WEBRTC_SOURCE_ROOT} && mkdir -p <INSTALL_DIR >/include
301301 COMMAND cd ${WEBRTC_SOURCE_ROOT} && find . -type f -name "*.h" -exec ditto \{\} <INSTALL_DIR >/include/\{\} \$<SEMICOLON >
302302 COMMAND cd ${WEBRTC_SOURCE_ROOT} && find . -type f -name "*.inc" -exec ditto \{\} <INSTALL_DIR >/include/\{\} \$<SEMICOLON >
303303 BUILD_BYPRODUCTS <INSTALL_DIR >/obj/modules/audio_processing/libteamtalk.a
304- DEPENDS depot-tools
304+ DEPENDS webrtc-arm64-src
305305 )
306306
307307 # Use 'lipo' to create universal binary
@@ -319,14 +319,14 @@ else()
319319
320320 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux" )
321321 ExternalProject_Add (webrtc-src
322- DOWNLOAD_COMMAND ${WEBRTC_FETCH_CMD1 }
323- COMMAND ${WEBRTC_FETCH_CMD2 }
324- COMMAND ${WEBRTC_FETCH_CMD3 }
325- PATCH_COMMAND ${WEBRTC_PATCH_CMD1 }
326- UPDATE_COMMAND ""
322+ SOURCE_DIR ${WEBRTC_SOURCE_ROOT }
323+ DOWNLOAD_COMMAND ${WEBRTC_DOWNLOAD_CMD1 }
324+ COMMAND ${WEBRTC_DOWNLOAD_CMD2 }
325+ COMMAND ${WEBRTC_DOWNLOAD_CMD3 }
326+ PATCH_COMMAND ${WEBRTC_PATCH_CMD}
327327 INSTALL_DIR ${WEBRTC_INSTALL_ROOT}
328328 CONFIGURE_COMMAND ${DEPOTTOOLS_EXPORT} && cd ${WEBRTC_SOURCE_ROOT} && gn gen <INSTALL_DIR >
329- BUILD_COMMAND ${DEPOTTOOLS_EXPORT} && ninja -v -C <INSTALL_DIR > teamtalk
329+ BUILD_COMMAND ${DEPOTTOOLS_EXPORT} && ninja -v ${TOOLCHAIN_BUILD_MAKEJOBS} -C <INSTALL_DIR > teamtalk
330330 INSTALL_COMMAND cd ${WEBRTC_SOURCE_ROOT} && mkdir -p <INSTALL_DIR >/include
331331 COMMAND cd ${WEBRTC_SOURCE_ROOT} && find . -type f -name "*.h" -exec cp --parents \{\} <INSTALL_DIR >/include/ \$<SEMICOLON >
332332 COMMAND cd ${WEBRTC_SOURCE_ROOT} && find . -type f -name "*.inc" -exec cp -r --parents \{\} <INSTALL_DIR >/include/ \$<SEMICOLON >
0 commit comments