I needed this to make sure that BKE_copy_images works properly, probably will be useful in future. Using Check framework (http://check.sourceforge.net/doc/check.html/index.html). WITH_BF_UNIT_TEST option builds 'alltest' program under [BUILDDIR]/bin, which, when executed, runs unit tests, currently only 1. Example output: ---------------------------------------------------------------------- Running suite(s): Image 0%: Checks: 1, Failures: 1, Errors: 0 tests/alltest.c:74:F:Core:test_copy_images:0: Expected //bar/image.png to be translated to /tmp/bar/image.png, got /tmp/bar/image.pn. ---------------------------------------------------------------------- Spent lots of time (a couple of days actually :) to figure out how to link the test program with Blender libraries. As it turned out there are circular dependencies among Blender libraries. GCC by default doesn't expect circular dependencies - dependant libs should precede libs they depend on. The magical --start-group linker option helped to solve this (http://stephane.carrez.free.fr/doc/ld_2.html#IDX122). Also: - added bpy.util module. bpy.sys.* functions will move here later - added bpy.util.copy_images that uses BKE_copy_images - export_obj.py uses bpy.util.copy_images
68 lines
1.7 KiB
Python
68 lines
1.7 KiB
Python
#!/usr/bin/python
|
|
Import ('env')
|
|
|
|
sources = env.Glob('intern/*.c')
|
|
|
|
incs = '. #/intern/guardedalloc ../editors/include ../blenlib ../makesdna'
|
|
incs += ' ../render/extern/include #/intern/decimation/extern ../makesrna'
|
|
incs += ' ../imbuf ../avi #/intern/elbeem/extern ../nodes'
|
|
incs += ' #/intern/iksolver/extern ../blenloader'
|
|
incs += ' #/extern/bullet2/src'
|
|
incs += ' #/intern/opennl/extern #/intern/bsp/extern'
|
|
incs += ' ../gpu #/extern/glew/include'
|
|
|
|
incs += ' ' + env['BF_OPENGL_INC']
|
|
incs += ' ' + env['BF_ZLIB_INC']
|
|
|
|
defs = []
|
|
|
|
if not env['WITH_BF_PYTHON']:
|
|
defs.append('DISABLE_PYTHON')
|
|
else:
|
|
incs += ' ../python'
|
|
incs += ' ' + env['BF_PYTHON_INC']
|
|
if env['BF_DEBUG']:
|
|
defs.append('_DEBUG')
|
|
|
|
if env['WITH_BF_QUICKTIME']:
|
|
incs += ' ../quicktime'
|
|
|
|
if env['WITH_BF_SDL']:
|
|
incs += ' ' + env['BF_SDL_INC']
|
|
else:
|
|
defs.append('DISABLE_SDL')
|
|
|
|
if env['WITH_BF_OPENEXR']:
|
|
defs.append('WITH_OPENEXR')
|
|
|
|
if env['WITH_BF_OPENJPEG']:
|
|
defs.append('WITH_OPENJPEG')
|
|
|
|
if env['WITH_BF_DDS']:
|
|
defs.append('WITH_DDS')
|
|
|
|
if env['WITH_BF_FFMPEG']:
|
|
defs.append('WITH_FFMPEG')
|
|
incs += ' ' + env['BF_FFMPEG_INC']
|
|
|
|
if env['WITH_BF_QUICKTIME']:
|
|
defs.append('WITH_QUICKTIME')
|
|
incs += ' ' + env['BF_QUICKTIME_INC']
|
|
|
|
if env['WITH_BF_BULLET']:
|
|
defs.append('WITH_BULLET')
|
|
|
|
if env['BF_NO_ELBEEM']:
|
|
defs.append('DISABLE_ELBEEM')
|
|
|
|
if env['WITH_BF_LCMS']:
|
|
defs.append('WITH_LCMS')
|
|
|
|
if env['WITH_BF_UNIT_TEST']:
|
|
defs.append('WITH_UNIT_TEST')
|
|
|
|
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
|
|
incs += ' ' + env['BF_PTHREADS_INC']
|
|
|
|
env.BlenderLib ( libname = 'bf_blenkernel', sources = sources, includes = Split(incs), defines = defs, libtype=['core'], priority = [165] )
|