diff options
-rw-r--r-- | build_files/cmake/config/blender_release.cmake | 78 | ||||
-rw-r--r-- | make.bat | 154 |
2 files changed, 186 insertions, 46 deletions
diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake new file mode 100644 index 00000000000..82ff315b794 --- /dev/null +++ b/build_files/cmake/config/blender_release.cmake @@ -0,0 +1,78 @@ +# Turn everything ON thats expected for an official release builds. +# +# Example usage: +# cmake -C../blender/build_files/cmake/config/blender_full.cmake ../blender +# + +set(WITH_ALEMBIC ON CACHE BOOL "" FORCE) +set(WITH_BUILDINFO ON CACHE BOOL "" FORCE) +set(WITH_BULLET ON CACHE BOOL "" FORCE) +set(WITH_CODEC_AVI ON CACHE BOOL "" FORCE) +set(WITH_CODEC_FFMPEG ON CACHE BOOL "" FORCE) +set(WITH_CODEC_SNDFILE ON CACHE BOOL "" FORCE) +set(WITH_CYCLES ON CACHE BOOL "" FORCE) +set(WITH_CYCLES_OSL ON CACHE BOOL "" FORCE) +set(WITH_FFTW3 ON CACHE BOOL "" FORCE) +set(WITH_LIBMV ON CACHE BOOL "" FORCE) +set(WITH_LIBMV_SCHUR_SPECIALIZATIONS ON CACHE BOOL "" FORCE) +set(WITH_GAMEENGINE ON CACHE BOOL "" FORCE) +set(WITH_COMPOSITOR ON CACHE BOOL "" FORCE) +set(WITH_FREESTYLE ON CACHE BOOL "" FORCE) +set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE) +set(WITH_IK_SOLVER ON CACHE BOOL "" FORCE) +set(WITH_IK_ITASC ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_CINEON ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_DDS ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_FRAMESERVER ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_HDR ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_TIFF ON CACHE BOOL "" FORCE) +set(WITH_INPUT_NDOF ON CACHE BOOL "" FORCE) +set(WITH_INTERNATIONAL ON CACHE BOOL "" FORCE) +set(WITH_JACK ON CACHE BOOL "" FORCE) +set(WITH_LZMA ON CACHE BOOL "" FORCE) +set(WITH_LZO ON CACHE BOOL "" FORCE) +set(WITH_MOD_BOOLEAN ON CACHE BOOL "" FORCE) +set(WITH_MOD_FLUID ON CACHE BOOL "" FORCE) +set(WITH_MOD_REMESH ON CACHE BOOL "" FORCE) +set(WITH_MOD_SMOKE ON CACHE BOOL "" FORCE) +set(WITH_MOD_OCEANSIM ON CACHE BOOL "" FORCE) +set(WITH_AUDASPACE ON CACHE BOOL "" FORCE) +set(WITH_OPENAL ON CACHE BOOL "" FORCE) +set(WITH_OPENCOLLADA ON CACHE BOOL "" FORCE) +set(WITH_OPENCOLORIO ON CACHE BOOL "" FORCE) +set(WITH_OPENMP ON CACHE BOOL "" FORCE) +set(WITH_OPENVDB ON CACHE BOOL "" FORCE) +set(WITH_OPENVDB_BLOSC ON CACHE BOOL "" FORCE) +set(WITH_PYTHON_INSTALL ON CACHE BOOL "" FORCE) +set(WITH_RAYOPTIMIZATION ON CACHE BOOL "" FORCE) +set(WITH_SDL ON CACHE BOOL "" FORCE) +set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE) +set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE) + +set(WITH_PLAYER ON CACHE BOOL "" FORCE) +set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE) +set(WITH_CYCLES_CUDA_BINARIES ON CACHE BOOL "" FORCE) +set(CYCLES_CUDA_BINARIES_ARCH sm_20;sm_21;sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61 CACHE STRING "" FORCE) + +# platform dependent options +if(UNIX AND NOT APPLE) + set(WITH_JACK ON CACHE BOOL "" FORCE) + set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE) + set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE) +elseif(WIN32) + set(WITH_JACK OFF CACHE BOOL "" FORCE) + if(NOT CMAKE_COMPILER_IS_GNUCC) + set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE) + else() + # MinGW exceptions + set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE) + set(WITH_CODEC_SNDFILE OFF CACHE BOOL "" FORCE) + set(WITH_CYCLES_OSL OFF CACHE BOOL "" FORCE) + endif() +elseif(APPLE) + set(WITH_JACK ON CACHE BOOL "" FORCE) + set(WITH_CODEC_QUICKTIME ON CACHE BOOL "" FORCE) + set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE) +endif() @@ -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 ^ |