From 2bbdf4e794c1a0a04f39e49fc78459952cb503e9 Mon Sep 17 00:00:00 2001 From: Axel Isouard Date: Sat, 26 Nov 2016 17:45:35 +0100 Subject: [PATCH] CMake: Make everything working under Windows --- CMakeModules/FindDepotTools.cmake | 12 +++++++--- Targets/WebRTC/CMakeLists.txt | 38 ++++++++++++++++++++++++------- 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/CMakeModules/FindDepotTools.cmake b/CMakeModules/FindDepotTools.cmake index 54cecff..73eb4dd 100644 --- a/CMakeModules/FindDepotTools.cmake +++ b/CMakeModules/FindDepotTools.cmake @@ -1,6 +1,12 @@ -find_program(DEPOTTOOLS_GCLIENT_EXECUTABLE - NAMES gclient gclient.bat - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/depot_tools) +if (WIN32) + find_program(DEPOTTOOLS_GCLIENT_EXECUTABLE + NAMES gclient.bat + PATHS ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/depot_tools) +else (WIN32) + find_program(DEPOTTOOLS_GCLIENT_EXECUTABLE + NAMES gclient + PATHS ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/depot_tools) +endif (WIN32) include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) find_package_handle_standard_args(DepotTools diff --git a/Targets/WebRTC/CMakeLists.txt b/Targets/WebRTC/CMakeLists.txt index 52148d6..a0773d9 100644 --- a/Targets/WebRTC/CMakeLists.txt +++ b/Targets/WebRTC/CMakeLists.txt @@ -10,6 +10,16 @@ ExternalProject_Add(chromium BUILD_COMMAND "" INSTALL_COMMAND "") +set(GCLIENT_CONFIG_COMMAND + ${DEPOTTOOLS_GCLIENT_EXECUTABLE} config --name src + https://chromium.googlesource.com/external/webrtc.git) + +set(GCLIENT_SYNC_COMMAND + ${DEPOTTOOLS_GCLIENT_EXECUTABLE} sync + --revision ${LIBWEBRTC_WEBRTC_REVISION} -n -D) + +set(SETUP_LINKS_COMMAND ${PYTHON_EXECUTABLE} src/setup_links.py) + ExternalProject_Add(webrtc DEPENDS chromium @@ -18,21 +28,22 @@ ExternalProject_Add(webrtc SOURCE_DIR ${CMAKE_BINARY_DIR} DOWNLOAD_DIR ${CMAKE_BINARY_DIR} - DOWNLOAD_COMMAND "" - CONFIGURE_COMMAND "" - BUILD_COMMAND "" + DOWNLOAD_COMMAND ${GCLIENT_CONFIG_COMMAND} + UPDATE_COMMAND ${GCLIENT_SYNC_COMMAND} + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/src/chromium/src/third_party/llvm-build/Release+Asserts + BUILD_COMMAND ${SETUP_LINKS_COMMAND} INSTALL_COMMAND "" - LOG_DOWNLOAD 0 + LOG_DOWNLOAD 1 + LOG_CONFIGURE 1 LOG_UPDATE 0 - LOG_CONFIGURE 0 LOG_BUILD 0 LOG_TEST 0 LOG_INSTALL 0) # # Configure gclient -# +#[[ set(GCLIENT_CONFIG_COMMAND ${DEPOTTOOLS_GCLIENT_EXECUTABLE} config --name src https://chromium.googlesource.com/external/webrtc.git) @@ -73,7 +84,7 @@ ExternalProject_Add_Step(webrtc links COMMENT "Generate symbolic links" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src) -# +#]] # Generate build files # set(LIBWEBRTC_GEN_ARGS use_gold=false) @@ -104,6 +115,17 @@ add_libwebrtc_command(webrtc-generate "Generating build files" webrtc) +# +# Update clang +# +set(UPDATE_CLANG_COMMAND ${PYTHON_EXECUTABLE} chromium/src/tools/clang/scripts/update.py) +add_libwebrtc_command(webrtc-clang + "Clang" + "${UPDATE_CLANG_COMMAND}" + ${CMAKE_BINARY_DIR}/src + "Updating clang" + webrtc-generate) + # # Run the build command # @@ -113,7 +135,7 @@ add_libwebrtc_command(webrtc-ninja "${LIBWEBRTC_BUILD_CMD}" ${CMAKE_BINARY_DIR}/src "Building WebRTC" - webrtc-generate) + webrtc-clang) # # Link the library