[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39438] trunk/blender: added cmake configureation presets, so on *nix systems you can do...

Campbell Barton ideasman42 at gmail.com
Tue Aug 16 11:36:16 CEST 2011


Revision: 39438
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39438
Author:   campbellbarton
Date:     2011-08-16 09:36:15 +0000 (Tue, 16 Aug 2011)
Log Message:
-----------
added cmake configureation presets, so on *nix systems you can do...

 # minal blender with debug info
 make debug lite

 # blender with no ui
 make headless

 # blender as a python module
 make bpy

Modified Paths:
--------------
    trunk/blender/GNUmakefile

Added Paths:
-----------
    trunk/blender/build_files/cmake/config/
    trunk/blender/build_files/cmake/config/blender_headless.cmake
    trunk/blender/build_files/cmake/config/blender_lite.cmake
    trunk/blender/build_files/cmake/config/bpy_module.cmake

Modified: trunk/blender/GNUmakefile
===================================================================
--- trunk/blender/GNUmakefile	2011-08-16 08:40:25 UTC (rev 39437)
+++ trunk/blender/GNUmakefile	2011-08-16 09:36:15 UTC (rev 39438)
@@ -35,17 +35,27 @@
 # Source and Build DIR's
 BLENDER_DIR:=$(shell pwd -P)
 BUILD_DIR:=$(shell dirname $(BLENDER_DIR))/build/$(OS_NCASE)
+BUILD_TYPE:=Release
+BUILD_CMAKE_ARGS:=""
 
-
 # support 'make debug'
 ifneq "$(findstring debug, $(MAKECMDGOALS))" ""
 	BUILD_DIR:=$(BUILD_DIR)_debug
 	BUILD_TYPE:=Debug
-else
-	BUILD_TYPE:=Release
 endif
+ifneq "$(findstring lite, $(MAKECMDGOALS))" ""
+	BUILD_DIR:=$(BUILD_DIR)_lite
+	BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/blender_lite.cmake
+endif
+ifneq "$(findstring headless, $(MAKECMDGOALS))" ""
+	BUILD_DIR:=$(BUILD_DIR)_bpy
+	BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/blender_headless.cmake
+endif
+ifneq "$(findstring bpy, $(MAKECMDGOALS))" ""
+	BUILD_DIR:=$(BUILD_DIR)_bpy
+	BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/bpy_module.cmake
+endif
 
-
 # Get the number of cores for threaded build
 NPROCS:=1
 ifeq ($(OS), Linux)
@@ -68,7 +78,7 @@
 	@echo Configuring Blender ...
 
 	if test ! -f $(BUILD_DIR)/CMakeCache.txt ; then \
-		cmake -H$(BLENDER_DIR) -B$(BUILD_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE) ; \
+		cmake $(BUILD_CMAKE_ARGS) -H$(BLENDER_DIR) -B$(BUILD_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE); \
 	fi
 
 	@echo
@@ -80,7 +90,9 @@
 	@echo
 
 debug: all
-	# pass
+lite: all
+headless: all
+bpy: all
 
 # package types
 package_debian:

Added: trunk/blender/build_files/cmake/config/blender_headless.cmake
===================================================================
--- trunk/blender/build_files/cmake/config/blender_headless.cmake	                        (rev 0)
+++ trunk/blender/build_files/cmake/config/blender_headless.cmake	2011-08-16 09:36:15 UTC (rev 39438)
@@ -0,0 +1,24 @@
+# headless configuration, useful in for servers or renderfarms
+# builds without a windowing system (X11/Windows/Cocoa).
+#
+# Example usage:
+#   cmake -C../blender/build_files/cmake/config/blender_headless.cmake  ../blender
+#
+
+set(WITH_HEADLESS            ON  CACHE FORCE BOOL) 
+set(WITH_GAMEENGINE          OFF CACHE FORCE BOOL)
+
+# disable audio, its possible some devs may want this but for now disable
+# so the python module doesnt hold the audio device and loads quickly.
+set(WITH_AUDASPACE           OFF CACHE FORCE BOOL)
+set(WITH_SAMPLERATE          OFF CACHE FORCE BOOL)
+set(WITH_FFTW3               OFF CACHE FORCE BOOL)
+set(WITH_JACK                OFF CACHE FORCE BOOL)
+set(WITH_SDL                 OFF CACHE FORCE BOOL)
+set(WITH_OPENAL              OFF CACHE FORCE BOOL)
+set(WITH_CODEC_FFMPEG        OFF CACHE FORCE BOOL)
+set(WITH_CODEC_SNDFILE       OFF CACHE FORCE BOOL)
+
+# other features which are not especially useful as a python module
+set(WITH_X11_XINPUT          OFF CACHE FORCE BOOL)
+set(WITH_INPUT_NDOF          OFF CACHE FORCE BOOL)

Added: trunk/blender/build_files/cmake/config/blender_lite.cmake
===================================================================
--- trunk/blender/build_files/cmake/config/blender_lite.cmake	                        (rev 0)
+++ trunk/blender/build_files/cmake/config/blender_lite.cmake	2011-08-16 09:36:15 UTC (rev 39438)
@@ -0,0 +1,43 @@
+# turn everything OFF CACHE FORCE BOOL) except for python which defaults to ON
+# and is needed for the UI
+#
+# Example usage:
+#   cmake -C../blender/build_files/cmake/config/blender_lite.cmake  ../blender
+#
+
+set(WITH_INSTALL_PORTABLE    ON  CACHE FORCE BOOL)
+
+set(WITH_BUILDINFO           OFF CACHE FORCE BOOL)
+set(WITH_BUILTIN_GLEW        OFF CACHE FORCE BOOL)
+set(WITH_BULLET              OFF CACHE FORCE BOOL)
+set(WITH_CODEC_FFMPEG        OFF CACHE FORCE BOOL)
+set(WITH_CODEC_SNDFILE       OFF CACHE FORCE BOOL)
+set(WITH_FFTW3               OFF CACHE FORCE BOOL)
+set(WITH_GAMEENGINE          OFF CACHE FORCE BOOL)
+set(WITH_IK_ITASC            OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_CINEON        OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_DDS           OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_FRAMESERVER   OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_HDR           OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_OPENEXR       OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_OPENJPEG      OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_REDCODE       OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_TIFF          OFF CACHE FORCE BOOL)
+set(WITH_INPUT_NDOF          OFF CACHE FORCE BOOL)
+set(WITH_INTERNATIONAL       OFF CACHE FORCE BOOL)
+set(WITH_JACK                OFF CACHE FORCE BOOL)
+set(WITH_LZMA                OFF CACHE FORCE BOOL)
+set(WITH_LZO                 OFF CACHE FORCE BOOL)
+set(WITH_MOD_BOOLEAN         OFF CACHE FORCE BOOL)
+set(WITH_MOD_DECIMATE        OFF CACHE FORCE BOOL)
+set(WITH_MOD_FLUID           OFF CACHE FORCE BOOL)
+set(WITH_MOD_SMOKE           OFF CACHE FORCE BOOL)
+set(WITH_AUDASPACE           OFF CACHE FORCE BOOL)
+set(WITH_OPENAL              OFF CACHE FORCE BOOL)
+set(WITH_OPENCOLLADA         OFF CACHE FORCE BOOL)
+set(WITH_OPENMP              OFF CACHE FORCE BOOL)
+set(WITH_PYTHON_INSTALL      OFF CACHE FORCE BOOL)
+set(WITH_RAYOPTIMIZATION     OFF CACHE FORCE BOOL)
+set(WITH_SAMPLERATE          OFF CACHE FORCE BOOL)
+set(WITH_SDL                 OFF CACHE FORCE BOOL)
+set(WITH_X11_XINPUT          OFF CACHE FORCE BOOL)

Added: trunk/blender/build_files/cmake/config/bpy_module.cmake
===================================================================
--- trunk/blender/build_files/cmake/config/bpy_module.cmake	                        (rev 0)
+++ trunk/blender/build_files/cmake/config/bpy_module.cmake	2011-08-16 09:36:15 UTC (rev 39438)
@@ -0,0 +1,34 @@
+# defaults for building blender as a python module 'bpy'
+#
+# Example usage:
+#   cmake -C../blender/build_files/cmake/config/bpy_module.cmake  ../blender
+#
+
+set(WITH_PYTHON_MODULE       ON  CACHE FORCE BOOL)
+
+# install into the systems python dir
+set(WITH_INSTALL_PORTABLE    OFF CACHE FORCE BOOL)
+
+# no point int copying python into python
+set(WITH_PYTHON_INSTALL      OFF CACHE FORCE BOOL)
+
+# dont build the game engine
+set(WITH_GAMEENGINE          OFF CACHE FORCE BOOL)
+
+# disable audio, its possible some devs may want this but for now disable
+# so the python module doesnt hold the audio device and loads quickly.
+set(WITH_AUDASPACE           OFF CACHE FORCE BOOL)
+set(WITH_SAMPLERATE          OFF CACHE FORCE BOOL)
+set(WITH_FFTW3               OFF CACHE FORCE BOOL)
+set(WITH_JACK                OFF CACHE FORCE BOOL)
+set(WITH_SDL                 OFF CACHE FORCE BOOL)
+set(WITH_OPENAL              OFF CACHE FORCE BOOL)
+set(WITH_CODEC_FFMPEG        OFF CACHE FORCE BOOL)
+set(WITH_CODEC_SNDFILE       OFF CACHE FORCE BOOL)
+
+# other features which are not especially useful as a python module
+set(WITH_X11_XINPUT          OFF CACHE FORCE BOOL)
+set(WITH_INPUT_NDOF          OFF CACHE FORCE BOOL)
+set(WITH_OPENCOLLADA         OFF CACHE FORCE BOOL)
+set(WITH_INTERNATIONAL       OFF CACHE FORCE BOOL)
+set(WITH_BULLET              OFF CACHE FORCE BOOL)




More information about the Bf-blender-cvs mailing list