diff options
Diffstat (limited to 'make.bat')
-rw-r--r-- | make.bat | 154 |
1 files changed, 108 insertions, 46 deletions
@@ -8,42 +8,6 @@ set BUILD_DIR=%BLENDER_DIR%..\build_windows set BUILD_TYPE=Release set BUILD_CMAKE_ARGS= -REM Detect MSVC Installation -if DEFINED VisualStudioVersion goto msvc_detect_finally -set VALUE_NAME=ProductDir -REM Check 64 bits -set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\Setup\VC" -for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO set MSVC_VC_DIR=%%C -if DEFINED MSVC_VC_DIR goto msvc_detect_finally -REM Check 32 bits -set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\12.0\Setup\VC" -for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO set MSVC_VC_DIR=%%C -if DEFINED MSVC_VC_DIR goto msvc_detect_finally -:msvc_detect_finally -if DEFINED MSVC_VC_DIR call "%MSVC_VC_DIR%\vcvarsall.bat" - - -REM Sanity Checks -where /Q msbuild -if %ERRORLEVEL% NEQ 0 ( - echo Error: "MSBuild" command not in the PATH. - echo You must have MSVC installed and run this from the "Developer Command Prompt" - echo ^(available from Visual Studio's Start menu entry^), aborting! - goto EOF -) -where /Q cmake -if %ERRORLEVEL% NEQ 0 ( - echo Error: "CMake" command not in the PATH. - echo You must have CMake installed and added to your PATH, aborting! - goto EOF -) -if NOT EXIST %BLENDER_DIR%..\lib\nul ( - echo Error: Path to libraries not found "%BLENDER_DIR%..\lib\" - echo This is needed for building, aborting! - goto EOF -) - - :argv_loop if NOT "%1" == "" ( @@ -51,6 +15,7 @@ if NOT "%1" == "" ( if "%1" == "help" ( echo. echo Convenience targets + echo - release echo - debug echo - full echo - lite @@ -61,6 +26,16 @@ if NOT "%1" == "" ( echo Utilities ^(not associated with building^) echo - clean echo - update + echo - nobuild ^(only generate project files^) + echo - showhash ^(Show git hashes of source tree^) + echo. + echo Configuration options + echo - packagename [newname] ^(override default cpack package name^) + echo - x86 ^(override host autodetect and build 32 bit code^) + echo - x64 ^(override host autodetect and build 64 bit code^) + echo - 2013 ^(build with visual studio 2013^) + echo - 2015 ^(build with visual studio 2015^) [EXPERIMENTAL] + echo. goto EOF ) @@ -90,7 +65,44 @@ if NOT "%1" == "" ( set BUILD_DIR=%BUILD_DIR%_bpy set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% ^ -C"%BLENDER_DIR%\build_files\cmake\config\bpy_module.cmake" - + ) else if "%1" == "release" ( + if "%CUDA_PATH_V7_5%"=="" ( + echo Cuda 7.5 Not found, aborting! + goto EOF + ) + if "%CUDA_PATH_V8_0%"=="" ( + echo Cuda 8.0 Not found, aborting! + goto EOF + ) + set BUILD_DIR=%BUILD_DIR%_Release + set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% ^ + -C"%BLENDER_DIR%\build_files\cmake\config\blender_release.cmake" -DCUDA_NVCC_EXECUTABLE:FILEPATH=%CUDA_PATH_V7_5%/bin/nvcc.exe -DCUDA_NVCC8_EXECUTABLE:FILEPATH=%CUDA_PATH_V8_0%/bin/nvcc.exe + ) else if "%1" == "x86" ( + set BUILD_ARCH=x86 + set BUILD_DIR=%BUILD_DIR%_x86 + ) else if "%1" == "x64" ( + set BUILD_ARCH=x64 + set BUILD_DIR=%BUILD_DIR%_x64 + ) else if "%1" == "2015" ( + set BUILD_VS_VER=14 + set BUILD_VS_YEAR=2015 + ) else if "%1" == "2013" ( + set BUILD_VS_VER=12 + set BUILD_VS_YEAR=2013 + ) else if "%1" == "packagename" ( + set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DCPACK_OVERRIDE_PACKAGENAME="%2" + shift /1 + ) else if "%1" == "nobuild" ( + set NOBUILD=1 + ) else if "%1" == "showhash" ( + for /f "delims=" %%i in ('git rev-parse HEAD') do echo Branch_hash=%%i + cd release/datafiles/locale + for /f "delims=" %%i in ('git rev-parse HEAD') do echo Locale_hash=%%i + cd %~dp0 + cd release/scripts/addons + for /f "delims=" %%i in ('git rev-parse HEAD') do echo Addons_Hash=%%i + cd %~dp0 + goto EOF REM Non-Build Commands ) else if "%1" == "update" ( svn up ../lib/* @@ -115,22 +127,71 @@ if NOT "%1" == "" ( shift /1 goto argv_loop ) +if "%BUILD_ARCH%"=="" ( + if "%PROCESSOR_ARCHITECTURE%" == "AMD64" ( + set WINDOWS_ARCH= Win64 + ) else if "%PROCESSOR_ARCHITEW6432%" == "AMD64" ( + set WINDOWS_ARCH= Win64 + ) else ( + set WINDOWS_ARCH= + ) +) else if "%BUILD_ARCH%"=="x64" ( + set WINDOWS_ARCH= Win64 + ) else if "%BUILD_ARCH%"=="x86" ( + set WINDOWS_ARCH= + ) -if "%PROCESSOR_ARCHITECTURE%" == "AMD64" ( - set WINDOWS_ARCH=Win64 -) else if "%PROCESSOR_ARCHITEW6432%" == "AMD64" ( - set WINDOWS_ARCH=Win64 -) else ( - set WINDOWS_ARCH= +if "%BUILD_VS_VER%"=="" ( + set BUILD_VS_VER=12 + set BUILD_VS_YEAR=2013 ) -set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Visual Studio 12 2013 %WINDOWS_ARCH%" +set BUILD_DIR=%BUILD_DIR%_vc%BUILD_VS_VER% + +REM Detect MSVC Installation +if DEFINED VisualStudioVersion goto msvc_detect_finally +set VALUE_NAME=ProductDir +REM Check 64 bits +set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\%BUILD_VS_VER%.0\Setup\VC" +for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO set MSVC_VC_DIR=%%C +if DEFINED MSVC_VC_DIR goto msvc_detect_finally +REM Check 32 bits +set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\%BUILD_VS_VER%.0\Setup\VC" +for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO set MSVC_VC_DIR=%%C +if DEFINED MSVC_VC_DIR goto msvc_detect_finally +:msvc_detect_finally +if DEFINED MSVC_VC_DIR call "%MSVC_VC_DIR%\vcvarsall.bat" + +REM Sanity Checks +where /Q msbuild +if %ERRORLEVEL% NEQ 0 ( + echo Error: "MSBuild" command not in the PATH. + echo You must have MSVC installed and run this from the "Developer Command Prompt" + echo ^(available from Visual Studio's Start menu entry^), aborting! + goto EOF +) +where /Q cmake +if %ERRORLEVEL% NEQ 0 ( + echo Error: "CMake" command not in the PATH. + echo You must have CMake installed and added to your PATH, aborting! + goto EOF +) +if NOT EXIST %BLENDER_DIR%..\lib\nul ( + echo Error: Path to libraries not found "%BLENDER_DIR%..\lib\" + echo This is needed for building, aborting! + goto EOF +) + +set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Visual Studio %BUILD_VS_VER% %BUILD_VS_YEAR%%WINDOWS_ARCH%" if NOT EXIST %BUILD_DIR%\nul ( mkdir %BUILD_DIR% ) -REM Only configure on first run -if NOT EXIST %BUILD_DIR%\Blender.sln ( +REM Only configure on first run or when called with nobuild +if NOT EXIST %BUILD_DIR%\Blender.sln set MUST_CONFIGURE=1 +if "%NOBUILD%"=="1" set MUST_CONFIGURE=1 + +if "%MUST_CONFIGURE%"=="1" ( cmake ^ %BUILD_CMAKE_ARGS% ^ -H%BLENDER_DIR% ^ @@ -142,6 +203,7 @@ if NOT EXIST %BUILD_DIR%\Blender.sln ( goto EOF ) ) +if "%NOBUILD%"=="1" goto EOF msbuild ^ %BUILD_DIR%\Blender.sln ^ |