GitHunt
AL

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 by the bsc.bat compile 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 by dmc.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 by bmc.bat. This is like dbf.bat, except it runs the standard build.


Installation

  1. Rename and copy git-info-exclude to .git/info/exclude
  2. Copy over all the .bat files to the root folder of the repo (i.e. alongside .gitignore)
  3. Copy over the .cmake files to build_files/cmake/config/
  4. Add the contents of git_config_addons.ini to the end of .git/config

Original Author: Joshua Leung (aligorith@gmail.com), adapted from Blender's make.bat and blender-lite.cmake

Languages

Batchfile78.0%CMake22.0%

Contributors

Created December 19, 2017
Updated July 12, 2018