diff options
-rw-r--r-- | GNUmakefile | 6 | ||||
-rw-r--r-- | build_files/cmake/config/blender_developer.cmake | 19 | ||||
-rw-r--r-- | build_files/windows/parse_arguments.cmd | 2 | ||||
-rw-r--r-- | build_files/windows/show_help.cmd | 1 |
4 files changed, 28 insertions, 0 deletions
diff --git a/GNUmakefile b/GNUmakefile index 69a2689cea1..fac7484859f 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -37,6 +37,7 @@ Convenience Targets * bpy: Build as a python module which can be loaded from python directly. * deps: Build library dependencies (intended only for platform maintainers). + * developer: Enable faster builds, error checking and tests, recommended for developers. * config: Run cmake configuration tool to set build options. Note: passing the argument 'BUILD_DIR=path' when calling make will override the default build dir. @@ -221,6 +222,10 @@ ifneq "$(findstring bpy, $(MAKECMDGOALS))" "" BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C"$(BLENDER_DIR)/build_files/cmake/config/bpy_module.cmake" endif +ifneq "$(findstring developer, $(MAKECMDGOALS))" "" + BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C"$(BLENDER_DIR)/build_files/cmake/config/blender_developer.cmake" +endif + # ----------------------------------------------------------------------------- # Blender binary path @@ -294,6 +299,7 @@ lite: all cycles: all headless: all bpy: all +developer: all # ----------------------------------------------------------------------------- # Build dependencies diff --git a/build_files/cmake/config/blender_developer.cmake b/build_files/cmake/config/blender_developer.cmake new file mode 100644 index 00000000000..5209ce4ed25 --- /dev/null +++ b/build_files/cmake/config/blender_developer.cmake @@ -0,0 +1,19 @@ +# Configuration for developers, with faster builds, error checking and tests. +# +# Example usage: +# cmake -C../blender/build_files/cmake/config/blender_developer.cmake ../blender +# + +set(WITH_ASSERT_ABORT ON CACHE BOOL "" FORCE) +set(WITH_BUILDINFO OFF CACHE BOOL "" FORCE) +set(WITH_COMPILER_ASAN ON CACHE BOOL "" FORCE) +set(WITH_CYCLES_DEBUG ON CACHE BOOL "" FORCE) +set(WITH_CYCLES_NATIVE_ONLY ON CACHE BOOL "" FORCE) +set(WITH_GTESTS ON CACHE BOOL "" FORCE) +set(WITH_LIBMV_SCHUR_SPECIALIZATIONS OFF CACHE BOOL "" FORCE) +set(WITH_PYTHON_SAFETY ON CACHE BOOL "" FORCE) +set(WITH_DOC_MANPAGE OFF CACHE BOOL "" FORCE) + +# This may have issues with C++ initialization order, needs to be tested +# on all platforms to be sure this is safe to enable. +# set(WITH_CXX_GUARDEDALLOC ON CACHE BOOL "" FORCE) diff --git a/build_files/windows/parse_arguments.cmd b/build_files/windows/parse_arguments.cmd index 8c8b473dbcf..c43107163b8 100644 --- a/build_files/windows/parse_arguments.cmd +++ b/build_files/windows/parse_arguments.cmd @@ -41,6 +41,8 @@ if NOT "%1" == "" ( ) else if "%1" == "release" ( set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\blender_release.cmake" set TARGET=Release + ) else if "%1" == "developer" ( + set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\blender_developer.cmake" ) else if "%1" == "asan" ( set WITH_ASAN=1 ) else if "%1" == "x86" ( diff --git a/build_files/windows/show_help.cmd b/build_files/windows/show_help.cmd index 08a6c40731c..7c0d33e1e1f 100644 --- a/build_files/windows/show_help.cmd +++ b/build_files/windows/show_help.cmd @@ -17,6 +17,7 @@ echo - format [path] ^(Format the source using clang-format, path is optional, r echo. echo Configuration options echo - verbose ^(enable diagnostic output during configuration^) +echo - developer ^(enable faster builds, error checking and tests, recommended for developers^) echo - with_tests ^(enable building unit tests^) echo - nobuildinfo ^(disable buildinfo^) echo - debug ^(Build an unoptimized debuggable build^) |