Aligorith/blender_dev_workflow
Batch scripts, config files, and other personal workflow stuff used for developing Blender on Windows using MSVC.
This repo contains all the various workflow scripts/utilities/settings files
I use when developing Blender on Windows with CMake/MSVC2013.
Note:
The build scripts depend on the "CustomLogger.dll" component, for filtering
the MsBuild output. The source code for compiling CustomLogger.dll can be
found at:
https://github.com/Aligorith/blender_msbuild_loggers
File Descriptions
GIT STUFF:
git-info-exclude- ".git/info/exclude" file. Use this to hide all the workflow tools provided here
CMAKE CONFIG FILES:
-
blender_core.cmake- Reduced CMake profile that disables all "non-essential" 3rd-party libraries
that some features in Blender rely on. Again to reduce disk space usage, compile troubles, and to
avoid having to deal with stuff I don't use. (Note: "Cycles" is disabled too, since it has gazillions
of dependencies, and annoyingly gets recompiled everytime I do so much as add a punctuation-mark to
a RNA property's tooltip! That is really bad for a lot of the work I do, as it really gets in the way!)
It is used by all the compile scripts below. -
blender_core_scripts.cmake- Used bythe bsc.batcompile script - Disable compiling Blender, so we
can just copy the scripts faster.
BLENDER 2.7X:
-
bmc.bat- Do a "full compile" of Blender. Release build. -
bmc_full.bat- Like bmc.bat, except the Custom Logger stuff is disabled.
Use to track down problems caused by the logger. -
bsc.bat- Run CMake to copy over scripts only.
(TODO: This could be a lot faster if we hacked up our own logic for this) -
smc.bat- Only compile the "C/C++" parts of Blender (i.e. don't copy scripts).
Use for faster compiles when no scripts change. -
..\install\blender- Command used to run newly compiled Blender.
It requires a symlink ("..\install") pointing to the..\build\bin\Release\folder, sitting in..\
BLENDER 2.8: (Special commands are needed due to various problems on my config)
-
dmc.bat- Do a "full compile" of Blender in "ReleaseWithDebInfo" mode.
This is less space intensive and performance-affecting than a full debug build, while still allowing
us to get some backtraces to track down segfaults. This is important when working with a pre-alpha
codebase where we get extremely regular crashes. -
dbf.bat- Run the "ReleaseWithDebInfo" build created bydmc.bat.
I made this wrapper for 2 reasons: 1) To work around some driver-related problems causing crashes when
starting Blender (i.e. --debug-gpu is needed to run Blender at all, but then I need to silence all stderr
output to get it semi-usable at all), and 2) To avoid having to type too much to run the build. -
rbf.bat- Run the "Release" build created bybmc.bat. This is likedbf.bat, except it runs the standard build.
Installation
- Rename and copy
git-info-excludeto.git/info/exclude - Copy over all the .bat files to the root folder of the repo (i.e. alongside
.gitignore) - Copy over the .cmake files to
build_files/cmake/config/ - Add the contents of
git_config_addons.inito the end of.git/config
Original Author: Joshua Leung (aligorith@gmail.com), adapted from Blender's make.bat and blender-lite.cmake