UI: use the "USE" flag for collection settings
[blender.git] / make.bat
index 11c1ff00a3b76f957bca58d6e1541f9e3b62c5ba..337a5517656009f1c7c5b5e11e9f21d515754d37 100644 (file)
--- a/make.bat
+++ b/make.bat
@@ -4,6 +4,11 @@ REM This is for users who like to configure & build Blender with a single comman
 
 setlocal ENABLEEXTENSIONS
 set BLENDER_DIR=%~dp0
+set BLENDER_DIR_NOSPACES=%BLENDER_DIR: =%
+if not "%BLENDER_DIR%"=="%BLENDER_DIR_NOSPACES%" ( 
+       echo There are spaces detected in the build path "%BLENDER_DIR%", this is currently not supported, exiting.... 
+       goto EOF
+)
 set BUILD_DIR=%BLENDER_DIR%..\build_windows
 set BUILD_TYPE=Release
 rem reset all variables so they do not get accidentally get carried over from previous builds
@@ -17,7 +22,7 @@ set MUST_CLEAN=
 set NOBUILD=
 set TARGET=
 set WINDOWS_ARCH=
-
+set TESTS_CMAKE_ARGS=
 :argv_loop
 if NOT "%1" == "" (
 
@@ -30,6 +35,8 @@ if NOT "%1" == "" (
        if "%1" == "debug" (
                set BUILD_TYPE=Debug
        REM Build Configurations
+       ) else if "%1" == "with_tests" (
+               set TESTS_CMAKE_ARGS=-DWITH_GTESTS=On
        ) else if "%1" == "full" (
                set TARGET=Full
                set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% ^
@@ -56,6 +63,9 @@ if NOT "%1" == "" (
                set BUILD_ARCH=x86
        )       else if "%1" == "x64" (
                set BUILD_ARCH=x64
+       )       else if "%1" == "2017" (
+       set BUILD_VS_VER=15
+       set BUILD_VS_YEAR=2017
        )       else if "%1" == "2015" (
        set BUILD_VS_VER=14
        set BUILD_VS_YEAR=2015
@@ -121,9 +131,6 @@ if "%BUILD_ARCH%"=="x64" (
 )
 
 
-set BUILD_DIR=%BUILD_DIR%_%TARGET%_%BUILD_ARCH%_vc%BUILD_VS_VER%_%BUILD_TYPE%
-
-
 if "%target%"=="Release" (
                rem for vc12 check for both cuda 7.5 and 8 
                if "%CUDA_PATH%"=="" (
@@ -135,7 +142,7 @@ if "%target%"=="Release" (
 )
 
 :DetectMSVC
-REM Detect MSVC Installation
+REM Detect MSVC Installation for 2013-2015
 if DEFINED VisualStudioVersion goto msvc_detect_finally
 set VALUE_NAME=ProductDir
 REM Check 64 bits
@@ -148,13 +155,24 @@ for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAM
 if DEFINED MSVC_VC_DIR goto msvc_detect_finally
 :msvc_detect_finally
 if DEFINED MSVC_VC_DIR call "%MSVC_VC_DIR%\vcvarsall.bat"
+if DEFINED MSVC_VC_DIR goto sanity_checks
+
+rem MSVC Build environment 2017 and up. 
+for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SXS\VS7" /v %BUILD_VS_VER%.0 2^>nul`) DO set MSVC_VS_DIR=%%C
+if DEFINED MSVC_VS_DIR goto msvc_detect_finally_2017
+REM Check 32 bits
+for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\sxs\vs7" /v %BUILD_VS_VER%.0 2^>nul`) DO set MSVC_VS_DIR=%%C
+if DEFINED MSVC_VS_DIR goto msvc_detect_finally_2017
+:msvc_detect_finally_2017
+if DEFINED MSVC_VS_DIR call "%MSVC_VS_DIR%\Common7\Tools\VsDevCmd.bat"
 
+:sanity_checks
 REM Sanity Checks
 where /Q msbuild
 if %ERRORLEVEL% NEQ 0 (
        if "%BUILD_VS_VER%"=="12" (
                rem vs12 not found, try vs14
-               echo Visual Studio 2012 not found, trying Visual Studio 2015.
+               echo Visual Studio 2013 not found, trying Visual Studio 2015.
                set BUILD_VS_VER=14
                set BUILD_VS_YEAR=2015
                goto DetectMSVC
@@ -165,6 +183,11 @@ if %ERRORLEVEL% NEQ 0 (
                goto EOF
        )
 )
+
+
+set BUILD_DIR=%BUILD_DIR%_%TARGET%_%BUILD_ARCH%_vc%BUILD_VS_VER%_%BUILD_TYPE%
+
+
 where /Q cmake
 if %ERRORLEVEL% NEQ 0 (
        echo Error: "CMake" command not in the PATH.
@@ -183,7 +206,7 @@ if "%TARGET%"=="" (
        goto HELP
 )
 
-set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Visual Studio %BUILD_VS_VER% %BUILD_VS_YEAR%%WINDOWS_ARCH%"
+set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Visual Studio %BUILD_VS_VER% %BUILD_VS_YEAR%%WINDOWS_ARCH%" %TESTS_CMAKE_ARGS%
 if NOT EXIST %BUILD_DIR%\nul (
        mkdir %BUILD_DIR%
 )
@@ -225,7 +248,8 @@ msbuild ^
        /property:Configuration=%BUILD_TYPE% ^
        /maxcpucount ^
        /verbosity:minimal ^
-       /p:platform=%MSBUILD_PLATFORM%
+       /p:platform=%MSBUILD_PLATFORM% ^
+       /flp:Summary;Verbosity=minimal;LogFile=%BUILD_DIR%\Build.log
 
 if %ERRORLEVEL% NEQ 0 (
        echo "Build Failed"
@@ -262,6 +286,7 @@ goto EOF
                echo - showhash ^(Show git hashes of source tree^)
                echo.
                echo Configuration options
+               echo - with_tests ^(enable building unit tests^)
                echo - debug ^(Build an unoptimized debuggable build^)
                echo - packagename [newname] ^(override default cpack package name^)
                echo - x86 ^(override host autodetect and build 32 bit code^)