[Bf-blender-cvs] [fc32f98bbc2] master: Initial support of `make format` for Windows

Sergey Sharybin noreply at git.blender.org
Tue Apr 16 15:42:28 CEST 2019


Commit: fc32f98bbc2f094cddf1c75e092c98d7a00a22b9
Author: Sergey Sharybin
Date:   Tue Apr 16 15:34:32 2019 +0200
Branches: master
https://developer.blender.org/rBfc32f98bbc2f094cddf1c75e092c98d7a00a22b9

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.

===================================================================

A	build_files/windows/format.cmd
M	build_files/windows/parse_arguments.cmd
M	build_files/windows/reset_variables.cmd
M	make.bat

===================================================================

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



More information about the Bf-blender-cvs mailing list