Clang-format: Speed up detection of clang-format
authorSergey Sharybin <sergey.vfx@gmail.com>
Tue, 16 Apr 2019 15:05:31 +0000 (17:05 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Tue, 16 Apr 2019 15:10:02 +0000 (17:10 +0200)
Don't construct the full build environment, following
feedback from Ray.

build_files/windows/format.cmd
make.bat

index 8202635..ca5330d 100644 (file)
@@ -1,9 +1,24 @@
+if EXIST %BLENDER_DIR%\..\lib\win64_vc14\llvm\bin\clang-format.exe (
+    set CF_PATH=..\lib\win64_vc14\llvm\bin
+    goto detect_done
+)
+if EXIST %BLENDER_DIR%\..\lib\windows_vc14\llvm\bin\clang-format.exe (
+    set CF_PATH=..\lib\windows_vc14\llvm\bin
+    goto detect_done
+)
+
+echo clang-format not found
+exit /b 1
+
+:detect_done
+echo found clang-format in %CF_PATH%
+
 REM TODO(sergey): Switch to Python from libraries when available.
 set PYTHON="python.exe"
 set FORMAT_PATHS=%BLENDER_DIR%\source\tools\utils_maintenance\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%
+set PATH=%CF_PATH%;%PATH%
 
 %PYTHON% %FORMAT_PATHS% --expand-tabs
 
index 4245071..17f9741 100644 (file)
--- a/make.bat
+++ b/make.bat
@@ -31,6 +31,12 @@ if "%BUILD_UPDATE%" == "1" (
        goto EOF
 )
 
+
+if "%FORMAT%" == "1" (
+       call "%BLENDER_DIR%\build_files\windows\format.cmd"
+       goto EOF
+)
+
 call "%BLENDER_DIR%\build_files\windows\detect_architecture.cmd"
 
 if "%BUILD_VS_YEAR%" == "" (
@@ -47,18 +53,13 @@ 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