I’m not aware of a written article detailing the particulars of each option.
Here is a printout of the same list of CMake options with help strings (as generated by ‘cmake -LH <blender_source_dir>’ on my Mac):
// Path to a library.
3DCONNEXION_CLIENT_FRAMEWORK:FILEPATH=3DCONNEXION_CLIENT_FRAMEWORK-NOTFOUND
// Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
CMAKE_BUILD_TYPE:STRING=Release
// Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local
// Choose the architecture you want to build Blender for: i386, x86_64 or ppc
CMAKE_OSX_ARCHITECTURES:STRING=x86_64
//
CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.6
//
CMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
// Path to a file.
PYTHON_NUMPY_PATH:PATH=PYTHON_NUMPY_PATH-NOTFOUND
// Enable features depending on boost
WITH_BOOST:BOOL=ON
// Include extra build details (only disable for development & faster builds)
WITH_BUILDINFO:BOOL=ON
// Enable Bullet (Physics Engine)
WITH_BULLET:BOOL=ON
// Enable Blenders own AVI file support (raw/jpeg)
WITH_CODEC_AVI:BOOL=ON
// Enable FFMPeg Support (http://ffmpeg.org)
WITH_CODEC_FFMPEG:BOOL=OFF
// Enable Quicktime Support
WITH_CODEC_QUICKTIME:BOOL=ON
// Enable libsndfile Support (http://www.mega-nerd.com/libsndfile)
WITH_CODEC_SNDFILE:BOOL=OFF
// Enable the tile based nodal compositor
WITH_COMPOSITOR:BOOL=ON
// Enable cycles Render Engine
WITH_CYCLES:BOOL=ON
// Build cycles CUDA binaries
WITH_CYCLES_CUDA_BINARIES:BOOL=OFF
// Build Cycles with OSL support
WITH_CYCLES_OSL:BOOL=OFF
// Build cycles standalone application
WITH_CYCLES_STANDALONE:BOOL=OFF
// Build cycles standalone with GUI
WITH_CYCLES_STANDALONE_GUI:BOOL=OFF
// Enable FFTW3 support (Used for smoke and audio effects)
WITH_FFTW3:BOOL=ON
// Enable Freestyle (advanced edges rendering)
WITH_FREESTYLE:BOOL=ON
// Enable Game Engine
WITH_GAMEENGINE:BOOL=ON
// Enable ITASC IK solver (only disable for development & for incompatible C++ compilers)
WITH_IK_ITASC:BOOL=ON
// Enable Legacy IK solver (only disable for development)
WITH_IK_SOLVER:BOOL=ON
// Enable CINEON and DPX Image Support
WITH_IMAGE_CINEON:BOOL=ON
// Enable DDS Image Support
WITH_IMAGE_DDS:BOOL=ON
// Enable image FrameServer Support for rendering
WITH_IMAGE_FRAMESERVER:BOOL=ON
// Enable HDR Image Support
WITH_IMAGE_HDR:BOOL=ON
// Enable OpenEXR Support (http://www.openexr.com)
WITH_IMAGE_OPENEXR:BOOL=ON
// Enable OpenJpeg Support (http://www.openjpeg.org)
WITH_IMAGE_OPENJPEG:BOOL=ON
// Enable RedCode Image Support
WITH_IMAGE_REDCODE:BOOL=OFF
// Enable LibTIFF Support
WITH_IMAGE_TIFF:BOOL=ON
// Enable NDOF input devices (SpaceNavigator and friends)
WITH_INPUT_NDOF:BOOL=ON
// Enable I18N (International fonts and text)
WITH_INTERNATIONAL:BOOL=ON
// Enable Jack Support (http://www.jackaudio.org)
WITH_JACK:BOOL=OFF
// Enable libmv structure from motion library
WITH_LIBMV:BOOL=ON
// Use 10.5 libs
WITH_LIBS10.5:BOOL=ON
// Use LLVM
WITH_LLVM:BOOL=OFF
// Enable best LZMA compression, (used for pointcache)
WITH_LZMA:BOOL=ON
// Enable fast LZO compression (used for pointcache)
WITH_LZO:BOOL=ON
// Enable Boolean Modifier
WITH_MOD_BOOLEAN:BOOL=ON
// Enable Elbeem Modifier (Fluid Simulation)
WITH_MOD_FLUID:BOOL=ON
// Enable Ocean Modifier
WITH_MOD_OCEANSIM:BOOL=OFF
// Enable Remesh Modifier
WITH_MOD_REMESH:BOOL=ON
// Enable Smoke Modifier (Smoke Simulation)
WITH_MOD_SMOKE:BOOL=ON
// Enable OpenAL Support (http://www.openal.org)
WITH_OPENAL:BOOL=ON
// Enable OpenCollada Support (http://www.opencollada.org)
WITH_OPENCOLLADA:BOOL=ON
// Enable OpenColorIO color management
WITH_OPENCOLORIO:BOOL=ON
// Enable OpenImageIO Support (http://www.openimageio.org)
WITH_OPENIMAGEIO:BOOL=OFF
// Enable OpenMP (has to be supported by the compiler)
WITH_OPENMP:BOOL=OFF
// Enable use of Open Numerical Library
WITH_OPENNL:BOOL=ON
// Build Player
WITH_PLAYER:BOOL=OFF
// Enable building using the Python available in the framework (OSX only)
WITH_PYTHON_FRAMEWORK:BOOL=OFF
// Copy system python into the blender install folder
WITH_PYTHON_INSTALL:BOOL=ON
// Copy system numpy into the blender install folder
WITH_PYTHON_INSTALL_NUMPY:BOOL=ON
// Enable building as a python module which runs without a user interface, like running regular blender in background mode (experimental, only enable for development)
WITH_PYTHON_MODULE:BOOL=OFF
// Enable internal API error checking to track invalid data to prevent crash on access (at the expense of some effeciency, only enable for development).
WITH_PYTHON_SAFETY:BOOL=OFF
// Enable use of SIMD (SSE) optimizations for the raytracer
WITH_RAYOPTIMIZATION:BOOL=ON
// Enable SDL for sound and joystick support
WITH_SDL:BOOL=ON
// Use the operating systems OpenJPEG library
WITH_SYSTEM_OPENJPEG:BOOL=OFF
why would you remove features from the source???
And no, you can’t just delete the files.
Why not edit the layout scripts to hide inset in panels/menus?
Regarding the build options:
Those are OPTIONS, so any should be optional.
I want to know to do that
Hide the features in the layout scripts are a good option, but the code still in the PC… with the bytes in hard drive … and I have a lot of tools that I never use
the building option: I can check that, but, when I built blender select and unselected options appear
umm some tutorial to learn to custom any blender layout script???
HI… I think this is a really purpose of a free and opensource code… even if is lightweight like blender… also I see that blender is growing and his weight too… but I have never used or will use many of his tool… then… why I need that in my pc if I can remove that?
The Blender wiki has a nice article on the various ways Blender can be extended/modified with Python: http://wiki.blender.org/index.php/Dev:2.5/Py/Scripts. In particular, look at the Python scripts in ‘<Blender_program_files>/<Blender_version>/scripts/bl_ui’. These are responsible for drawing individual panels, so you can comment out the code for the various ‘def draw():’ routines.
Although, I’m not sure it will accomplish what you’re after. Eliminating built-in features from Blender will require forking its entire codebase and re-arranging its data model (by editing the DNA subsystem). The codebase has numerous forward-declarations, which means you have to either substitute in stub-functions or refactor the entire codebase to remove calls to the functionality you wish to remove. Undeniably an arduous task, and difficult to merge future updates from the Blender Foundation. Though Blender is indeed open-source, and it can be done :yes:
Yep, but why spend time to remove features? It’s really not that simple for everything that isn’t available as build option.
I think this is a really purpose of a free and opensource code
I don’t think it’s the purpose of free and opensource code projects that users build them theirselves… You would usually get the binaries and be happy, unless you wanna patch in features, which aren’t available and not going to be included in any available build.