diff options
-rw-r--r-- | build_files/cmake/platform/platform_win32.cmake | 2 | ||||
-rw-r--r-- | build_files/windows/build_msbuild.cmd | 4 | ||||
-rw-r--r-- | build_files/windows/build_ninja.cmd | 16 | ||||
-rw-r--r-- | build_files/windows/configure_msbuild.cmd | 2 | ||||
-rw-r--r-- | build_files/windows/configure_ninja.cmd | 35 | ||||
-rw-r--r-- | make.bat | 16 |
6 files changed, 69 insertions, 6 deletions
diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index ef3ef7b6517..3520ac9c075 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -119,6 +119,8 @@ set(CMAKE_INSTALL_OPENMP_LIBRARIES ${WITH_OPENMP}) set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION .) include(InstallRequiredSystemLibraries) +remove_cc_flag("/MDd" "/MD") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /nologo /J /Gd /MP /EHsc") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd /MP") diff --git a/build_files/windows/build_msbuild.cmd b/build_files/windows/build_msbuild.cmd index 37bd9abfe71..49958ed67c5 100644 --- a/build_files/windows/build_msbuild.cmd +++ b/build_files/windows/build_msbuild.cmd @@ -1,5 +1,5 @@ if "%NOBUILD%"=="1" goto EOF - +echo %TIME% > buildtime.txt msbuild ^ %BUILD_DIR%\Blender.sln ^ /target:build ^ @@ -22,5 +22,5 @@ msbuild ^ echo Error during install phase exit /b 1 ) - +echo %TIME% >>buildtime.txt :EOF
\ No newline at end of file diff --git a/build_files/windows/build_ninja.cmd b/build_files/windows/build_ninja.cmd new file mode 100644 index 00000000000..f6b266e206d --- /dev/null +++ b/build_files/windows/build_ninja.cmd @@ -0,0 +1,16 @@ +if "%NOBUILD%"=="1" goto EOF +set HAS_ERROR= +cd %BUILD_DIR% +echo %TIME% > buildtime.txt +ninja install +if errorlevel 1 ( + set HAS_ERROR=1 + ) +echo %TIME% >>buildtime.txt +cd %BLENDER_DIR% + +if "%HAS_ERROR%" == "1" ( + echo Error during build, see %BUILD_DIR%\Build.log for details + exit /b 1 +) +:EOF
\ No newline at end of file diff --git a/build_files/windows/configure_msbuild.cmd b/build_files/windows/configure_msbuild.cmd index 28884ce2fd7..135b7933ab2 100644 --- a/build_files/windows/configure_msbuild.cmd +++ b/build_files/windows/configure_msbuild.cmd @@ -42,6 +42,7 @@ if "%MUST_CONFIGURE%"=="1" ( echo call "%VCVARS%" %BUILD_ARCH% > %BUILD_DIR%\rebuild.cmd echo "%CMAKE%" . >> %BUILD_DIR%\rebuild.cmd +echo echo %%TIME%% ^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd echo msbuild ^ %BUILD_DIR%\Blender.sln ^ /target:build ^ @@ -55,3 +56,4 @@ echo msbuild ^ /property:Configuration=%BUILD_TYPE% ^ /verbosity:minimal ^ /p:platform=%MSBUILD_PLATFORM% >> %BUILD_DIR%\rebuild.cmd +echo echo %%TIME%% ^>^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd
\ No newline at end of file diff --git a/build_files/windows/configure_ninja.cmd b/build_files/windows/configure_ninja.cmd new file mode 100644 index 00000000000..13797543bcc --- /dev/null +++ b/build_files/windows/configure_ninja.cmd @@ -0,0 +1,35 @@ +set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Ninja" %TESTS_CMAKE_ARGS% -DCMAKE_BUILD_TYPE=%BUILD_TYPE% +:DetectionComplete +if NOT "%verbose%" == "" ( + echo BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% +) + +if NOT EXIST %BUILD_DIR%\nul ( + mkdir %BUILD_DIR% +) + +if "%MUST_CLEAN%"=="1" ( + echo Cleaning %BUILD_DIR% + cd %BUILD_DIR% + %CMAKE% cmake --build . --config Clean +) + +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% ^ + -B%BUILD_DIR% + + if %ERRORLEVEL% NEQ 0 ( + echo "Configuration Failed" + exit /b 1 + ) +) + +echo call "%VCVARS%" %BUILD_ARCH% > %BUILD_DIR%\rebuild.cmd +echo echo %%TIME%% ^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd +echo ninja install >> %BUILD_DIR%\rebuild.cmd +echo echo %%TIME%% ^>^> buildtime.txt >> %BUILD_DIR%\rebuild.cmd
\ No newline at end of file @@ -52,10 +52,18 @@ if errorlevel 1 goto EOF call "%BLENDER_DIR%\build_files\windows\check_submodules.cmd" if errorlevel 1 goto EOF -call "%BLENDER_DIR%\build_files\windows\configure_msbuild.cmd" -if errorlevel 1 goto EOF +if "%BUILD_WITH_NINJA%" == "" ( + call "%BLENDER_DIR%\build_files\windows\configure_msbuild.cmd" + if errorlevel 1 goto EOF -call "%BLENDER_DIR%\build_files\windows\build_msbuild.cmd" -if errorlevel 1 goto EOF + call "%BLENDER_DIR%\build_files\windows\build_msbuild.cmd" + if errorlevel 1 goto EOF +) else ( + call "%BLENDER_DIR%\build_files\windows\configure_ninja.cmd" + if errorlevel 1 goto EOF + + call "%BLENDER_DIR%\build_files\windows\build_ninja.cmd" + if errorlevel 1 goto EOF +) :EOF
\ No newline at end of file |