Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--GNUmakefile6
-rw-r--r--build_files/cmake/config/blender_developer.cmake19
-rw-r--r--build_files/windows/parse_arguments.cmd2
-rw-r--r--build_files/windows/show_help.cmd1
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^)