From fc32f98bbc2f094cddf1c75e092c98d7a00a22b9 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 16 Apr 2019 15:34:32 +0200 Subject: [PATCH] Initial support of `make format` for Windows There are couple of caviats currently: - The script requires system-wide Python 3 available in the current search PATH as python.exe. This will get addressed soon by distributing unpacked Python binary in our libraries. - Since the libraries folder is to be known, this requires to have MSVC detected. Not too bad, since formatting is still way slower than detection, but still doesn't feel ideal. --- build_files/windows/format.cmd | 10 ++++++++++ build_files/windows/parse_arguments.cmd | 2 ++ build_files/windows/reset_variables.cmd | 1 + make.bat | 11 ++++++++--- 4 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 build_files/windows/format.cmd diff --git a/build_files/windows/format.cmd b/build_files/windows/format.cmd new file mode 100644 index 00000000000..b33ebdcbe5d --- /dev/null +++ b/build_files/windows/format.cmd @@ -0,0 +1,10 @@ +REM TODO(sergey): Switch to Python from libraries when available. +set PYTHON="python.exe" +set FORMAT_PATHS=%BLENDER_DIR%\source\tools\utils\clang_format_paths.py + +REM The formatting script expects clang-format to be in the current PATH. +set PATH=%BUILD_VS_LIBDIR%\llvm\bin;%PATH% + +%PYTHON% %FORMAT_PATHS% --expand-tabs + +:EOF diff --git a/build_files/windows/parse_arguments.cmd b/build_files/windows/parse_arguments.cmd index ada78e1defb..ed54ee9d13a 100644 --- a/build_files/windows/parse_arguments.cmd +++ b/build_files/windows/parse_arguments.cmd @@ -81,6 +81,8 @@ if NOT "%1" == "" ( set MUST_CLEAN=1 ) else if "%1" == "verbose" ( set VERBOSE=1 + ) else if "%1" == "format" ( + set FORMAT=1 ) else ( echo Command "%1" unknown, aborting! exit /b 1 diff --git a/build_files/windows/reset_variables.cmd b/build_files/windows/reset_variables.cmd index ba584a7f34a..efac15785ca 100644 --- a/build_files/windows/reset_variables.cmd +++ b/build_files/windows/reset_variables.cmd @@ -27,3 +27,4 @@ set CLANG_CMAKE_ARGS= set ASAN_CMAKE_ARGS= set WITH_PYDEBUG= set PYDEBUG_CMAKE_ARGS= +set FORMAT= diff --git a/make.bat b/make.bat index 5fb428fbed0..4245071870c 100644 --- a/make.bat +++ b/make.bat @@ -47,13 +47,18 @@ if "%BUILD_VS_YEAR%" == "" ( ) ) +call "%BLENDER_DIR%\build_files\windows\check_libraries.cmd" +if errorlevel 1 goto EOF + +if "%FORMAT%" == "1" ( + call "%BLENDER_DIR%\build_files\windows\format.cmd" + goto EOF +) + call "%BLENDER_DIR%\build_files\windows\set_build_dir.cmd" echo Building blender with VS%BUILD_VS_YEAR% for %BUILD_ARCH% in %BUILD_DIR% -call "%BLENDER_DIR%\build_files\windows\check_libraries.cmd" -if errorlevel 1 goto EOF - call "%BLENDER_DIR%\build_files\windows\check_submodules.cmd" if errorlevel 1 goto EOF