CMake: Make everything working under Windows

This commit is contained in:
Axel Isouard 2016-11-26 17:45:35 +01:00
parent c38445b4aa
commit 2bbdf4e794
No known key found for this signature in database
GPG key ID: 4E64BB3EAAF31C29
2 changed files with 39 additions and 11 deletions

View file

@ -1,6 +1,12 @@
find_program(DEPOTTOOLS_GCLIENT_EXECUTABLE if (WIN32)
NAMES gclient gclient.bat find_program(DEPOTTOOLS_GCLIENT_EXECUTABLE
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/Dependencies/depot_tools) 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) include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(DepotTools find_package_handle_standard_args(DepotTools

View file

@ -10,6 +10,16 @@ ExternalProject_Add(chromium
BUILD_COMMAND "" BUILD_COMMAND ""
INSTALL_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 ExternalProject_Add(webrtc
DEPENDS chromium DEPENDS chromium
@ -18,21 +28,22 @@ ExternalProject_Add(webrtc
SOURCE_DIR ${CMAKE_BINARY_DIR} SOURCE_DIR ${CMAKE_BINARY_DIR}
DOWNLOAD_DIR ${CMAKE_BINARY_DIR} DOWNLOAD_DIR ${CMAKE_BINARY_DIR}
DOWNLOAD_COMMAND "" DOWNLOAD_COMMAND ${GCLIENT_CONFIG_COMMAND}
CONFIGURE_COMMAND "" UPDATE_COMMAND ${GCLIENT_SYNC_COMMAND}
BUILD_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 "" INSTALL_COMMAND ""
LOG_DOWNLOAD 0 LOG_DOWNLOAD 1
LOG_CONFIGURE 1
LOG_UPDATE 0 LOG_UPDATE 0
LOG_CONFIGURE 0
LOG_BUILD 0 LOG_BUILD 0
LOG_TEST 0 LOG_TEST 0
LOG_INSTALL 0) LOG_INSTALL 0)
# #
# Configure gclient # Configure gclient
# #[[
set(GCLIENT_CONFIG_COMMAND set(GCLIENT_CONFIG_COMMAND
${DEPOTTOOLS_GCLIENT_EXECUTABLE} config --name src ${DEPOTTOOLS_GCLIENT_EXECUTABLE} config --name src
https://chromium.googlesource.com/external/webrtc.git) https://chromium.googlesource.com/external/webrtc.git)
@ -73,7 +84,7 @@ ExternalProject_Add_Step(webrtc links
COMMENT "Generate symbolic links" COMMENT "Generate symbolic links"
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src) WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src)
# #]]
# Generate build files # Generate build files
# #
set(LIBWEBRTC_GEN_ARGS use_gold=false) set(LIBWEBRTC_GEN_ARGS use_gold=false)
@ -104,6 +115,17 @@ add_libwebrtc_command(webrtc-generate
"Generating build files" "Generating build files"
webrtc) 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 # Run the build command
# #
@ -113,7 +135,7 @@ add_libwebrtc_command(webrtc-ninja
"${LIBWEBRTC_BUILD_CMD}" "${LIBWEBRTC_BUILD_CMD}"
${CMAKE_BINARY_DIR}/src ${CMAKE_BINARY_DIR}/src
"Building WebRTC" "Building WebRTC"
webrtc-generate) webrtc-clang)
# #
# Link the library # Link the library