From 7950fa7e8a279263ed82916eee5948f8ff77e1cf Mon Sep 17 00:00:00 2001 From: Axel Isouard Date: Sun, 19 Mar 2017 09:17:53 -0700 Subject: [PATCH] Fix the environment variables forever, add .bat suffix for win32 --- CMakeModules/Environment.cmake | 35 ++++++++++++++++++---------------- CMakeModules/Gn.cmake | 8 +++++++- webrtc/CMakeLists.txt.in | 5 +++-- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/CMakeModules/Environment.cmake b/CMakeModules/Environment.cmake index b565049..ee4b849 100644 --- a/CMakeModules/Environment.cmake +++ b/CMakeModules/Environment.cmake @@ -1,31 +1,34 @@ -set(_WEBRTC_PATH ${DEPOT_TOOLS_PATH}) -set(_DEPOT_TOOLS_ENV PATH=${_WEBRTC_PATH}) +if (ENVIRONMENT_INCLUDED) + return() +endif (ENVIRONMENT_INCLUDED) +set(ENVIRONMENT_INCLUDED true) if (WIN32) get_filename_component(DEPOT_TOOLS_PYTHON_PATH "${_WEBRTC_PATH}/python276_bin" REALPATH) - list(APPEND _WEBRTC_PATH ${DEPOT_TOOLS_PYTHON_PATH}) + list(APPEND _WEBRTC_PATH "${DEPOT_TOOLS_PYTHON_PATH}") endif (WIN32) -list(APPEND _WEBRTC_PATH $ENV{PATH}) - -if (WIN32) - string(REGEX REPLACE "/" "\\\\" _WEBRTC_PATH "${_WEBRTC_PATH}") - string(REGEX REPLACE ";" "\\\;" _WEBRTC_PATH "${_WEBRTC_PATH}") -else (WIN32) - string(REGEX REPLACE ";" ":" _WEBRTC_PATH "${_WEBRTC_PATH}") -endif (WIN32) +list(APPEND _WEBRTC_PATH ${DEPOT_TOOLS_PATH} $ENV{PATH}) get_filename_component(_CHROMIUM_PYTHONPATH "${CMAKE_SOURCE_DIR}/build" REALPATH) -set(_WEBRTC_ENV - PATH=\"${_WEBRTC_PATH}\" - PYTHONPATH=\"${_CHROMIUM_PYTHONPATH}\" - DEPOT_TOOLS_WIN_TOOLCHAIN=0 +if (WIN32) + string(REGEX REPLACE "/" "\\\\" _WEBRTC_PATH "${_WEBRTC_PATH}") + string(REGEX REPLACE "/" "\\\\" _CHROMIUM_PYTHONPATH "${_CHROMIUM_PYTHONPATH}") + string(REGEX REPLACE ";" "\\\\\\\;" _WEBRTC_PATH "${_WEBRTC_PATH}") +else (WIN32) + string(REGEX REPLACE ";" ":" _WEBRTC_PATH "${_WEBRTC_PATH}") +endif (WIN32) + +set(_ENV + PATH="${_WEBRTC_PATH}" + PYTHONPATH="${_CHROMIUM_PYTHONPATH}" + DEPOT_TOOLS_WIN_TOOLCHAIN=0 DEPOT_TOOLS_UPDATE=0 CHROME_HEADLESS=1) -set(PREFIX_EXECUTE cmake -E env ${_WEBRTC_ENV} ${PREFIX_FILENAME}) +set(PREFIX_EXECUTE ${CMAKE_COMMAND} -E env "${_ENV}") diff --git a/CMakeModules/Gn.cmake b/CMakeModules/Gn.cmake index 73aab6e..5df8d2f 100644 --- a/CMakeModules/Gn.cmake +++ b/CMakeModules/Gn.cmake @@ -21,4 +21,10 @@ if (GN_EXTRA_ARGS) set(_GEN_ARGS ${_GEN_ARGS} ${GN_EXTRA_ARGS}) endif (GN_EXTRA_ARGS) -set(_GEN_COMMAND gn gen ${_NINJA_BUILD_DIR} --args=\"${_GEN_ARGS}\") +if (WIN32) + set(_GN_EXECUTABLE gn.bat) +else (WIN32) + set(_GN_EXECUTABLE gn) +endif (WIN32) + +set(_GEN_COMMAND ${_GN_EXECUTABLE} gen ${_NINJA_BUILD_DIR} --args=\"${_GEN_ARGS}\") diff --git a/webrtc/CMakeLists.txt.in b/webrtc/CMakeLists.txt.in index 8b22d93..e52b98a 100644 --- a/webrtc/CMakeLists.txt.in +++ b/webrtc/CMakeLists.txt.in @@ -57,9 +57,10 @@ elseif (WIN32) set(_PLATFORM win32) set(_FOLDER win) set(_SUFFIX .exe) + set(_SCRIPT_SUFFIX .bat) endif (UNIX AND NOT APPLE) -set(_GN_COMMAND download_from_google_storage --no_resume --platform=${_PLATFORM} +set(_GN_COMMAND download_from_google_storage${_SCRIPT_SUFFIX} --no_resume --platform=${_PLATFORM} --no_auth --bucket chromium-gn -s src/buildtools/${_FOLDER}/gn${_SUFFIX}.sha1) @@ -72,7 +73,7 @@ libwebrtc_command( ) set(_DEPENDENCIES ${_DEPENDENCIES} webrtc-gn) -set(_CLANG_FORMAT_COMMAND download_from_google_storage --no_resume +set(_CLANG_FORMAT_COMMAND download_from_google_storage${_SCRIPT_SUFFIX} --no_resume --platform=${_PLATFORM} --no_auth --bucket chromium-clang-format -s src/buildtools/${_FOLDER}/clang-format${_SUFFIX}.sha1)