140 lines
4.9 KiB
Python
140 lines
4.9 KiB
Python
#!/usr/bin/python
|
|
import sys
|
|
Import ('env')
|
|
|
|
sources = []
|
|
defs = []
|
|
incs = ''
|
|
|
|
incs += '../blenkernel ../blenlib ../imbuf ../makesdna ../python '
|
|
incs += '../render/extern/include ../render/intern/include ../include ../src'
|
|
incs += ' #/extern/freestyle/lib3ds'
|
|
incs += ' ' + env['BF_PYTHON_INC']
|
|
incs += ' ' + env['BF_LIB3DS_INC']
|
|
incs += ' ' + env['BF_PNG_INC']
|
|
|
|
########################################################
|
|
# folders sources
|
|
########################################################
|
|
|
|
# system
|
|
prefix = 'intern/system'
|
|
system_sources = env.Glob(prefix + '/*.cpp')
|
|
|
|
# image
|
|
prefix = 'intern/image'
|
|
image_sources = env.Glob(prefix + '/*.cpp')
|
|
|
|
# geometry
|
|
prefix = 'intern/geometry'
|
|
geometry_sources = env.Glob(prefix + '/*.cpp')
|
|
|
|
# scene_graph
|
|
prefix = 'intern/scene_graph'
|
|
scene_graph_sources = env.Glob(prefix + '/*.cpp')
|
|
|
|
# winged_edge
|
|
prefix = 'intern/winged_edge'
|
|
winged_edge_sources = env.Glob(prefix + '/*.cpp')
|
|
|
|
# view_map
|
|
prefix = 'intern/view_map'
|
|
view_map_sources = env.Glob(prefix + '/*.cpp')
|
|
|
|
# stroke
|
|
prefix = 'intern/stroke'
|
|
stroke_sources = env.Glob(prefix + '/*.cpp')
|
|
|
|
# rendering
|
|
prefix = 'intern/rendering'
|
|
rendering_sources = env.Glob(prefix + '/GL*.cpp')
|
|
|
|
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw'):
|
|
rendering_sources = env.Glob(prefix + '/extgl.cpp')
|
|
|
|
# app / app_blender
|
|
prefix = 'intern/app_blender'
|
|
app_sources = env.Glob(prefix + '/*.cpp')
|
|
|
|
# Python
|
|
prefix = 'intern/python'
|
|
# python_sources = env.Glob(prefix + '/*.cpp')
|
|
python_sources = [
|
|
prefix + '/BPy_Freestyle.cpp',
|
|
prefix + '/BPy_Convert.cpp',
|
|
prefix + '/BPy_BBox.cpp',
|
|
prefix + '/BPy_BinaryPredicate0D.cpp',
|
|
prefix + '/BPy_BinaryPredicate1D.cpp',
|
|
prefix + '/BPy_Id.cpp',
|
|
prefix + '/BPy_IntegrationType.cpp',
|
|
prefix + '/BPy_Interface0D.cpp',
|
|
prefix + '/Interface0D/BPy_CurvePoint.cpp',
|
|
prefix + '/Interface0D/CurvePoint/BPy_StrokeVertex.cpp',
|
|
prefix + '/Interface0D/BPy_SVertex.cpp',
|
|
prefix + '/Interface0D/BPy_ViewVertex.cpp',
|
|
prefix + '/BPy_Interface1D.cpp',
|
|
prefix + '/Interface1D/BPy_Curve.cpp',
|
|
prefix + '/Interface1D/BPy_FEdge.cpp',
|
|
prefix + '/Interface1D/BPy_Stroke.cpp',
|
|
prefix + '/Interface1D/BPy_ViewEdge.cpp',
|
|
prefix + '/BPy_Iterator.cpp',
|
|
prefix + '/Iterator/BPy_AdjacencyIterator.cpp',
|
|
prefix + '/Iterator/BPy_Interface0DIterator.cpp',
|
|
prefix + '/Iterator/BPy_CurvePointIterator.cpp',
|
|
prefix + '/Iterator/BPy_StrokeVertexIterator.cpp',
|
|
prefix + '/Iterator/BPy_SVertexIterator.cpp',
|
|
prefix + '/Iterator/BPy_orientedViewEdgeIterator.cpp',
|
|
prefix + '/Iterator/BPy_ViewEdgeIterator.cpp',
|
|
prefix + '/BPy_MediumType.cpp',
|
|
prefix + '/BPy_Nature.cpp',
|
|
prefix + '/BPy_SShape.cpp',
|
|
prefix + '/BPy_StrokeAttribute.cpp',
|
|
prefix + '/BPy_StrokeShader.cpp',
|
|
prefix + '/BPy_UnaryFunction0D.cpp',
|
|
prefix + '/BPy_UnaryFunction1D.cpp',
|
|
prefix + '/BPy_UnaryPredicate0D.cpp',
|
|
prefix + '/BPy_UnaryPredicate1D.cpp',
|
|
prefix + '/BPy_ViewShape.cpp'
|
|
]
|
|
|
|
sources = system_sources + image_sources + geometry_sources + scene_graph_sources \
|
|
+ winged_edge_sources + view_map_sources + stroke_sources + rendering_sources \
|
|
+ app_sources + python_sources
|
|
|
|
env.BlenderLib (libname="bf_freestyle",
|
|
sources=sources,
|
|
includes=Split(incs),
|
|
defines=defs,
|
|
libtype=['blender'],
|
|
priority = [25]
|
|
)
|
|
|
|
########################################################
|
|
# SWIG
|
|
########################################################
|
|
# swig
|
|
#
|
|
# 1] Run the following three commands in the source/blender/freestyle/intern/swig directory.
|
|
#
|
|
# 2] Replace /Users/mx/Documents/work/GSoC_2008/bf-blender/branches/build/darwin/lib to the path
|
|
# of your library directory (used to locate libbf_freestyle.a)
|
|
#
|
|
# 3] Replace the python directories to suit your config
|
|
|
|
# export SWIG_LIB=/Users/mx/Documents/work/GSoC_2008/bf-blender/branches/soc-2008-mxcurioni/extern/freestyle/swig/Lib
|
|
|
|
# cd /Users/mx/Documents/work/GSoC_2008/bf-blender/branches/soc-2008-mxcurioni/source/blender/freestyle/intern/swig
|
|
|
|
# /Users/mx/Documents/work/GSoC_2008/bf-blender/branches/build/darwin/bin/swig -c++ -python -o ModuleWrapper.cpp Freestyle.i
|
|
|
|
# mv ./Freestyle.py ../../python/
|
|
|
|
# g++ -w -I../geometry -I../image -I../scene_graph -I../stroke -I../system -I../view_map -I../winged_edge -I/usr/include/python2.5 -I../../../blenlib -I../../../blenkernel -I../../../imbuf -I../../../makesdna -c ModuleWrapper.cpp -o ModuleWrapper.o
|
|
|
|
########### Mac OS X ###########
|
|
# g++ -bundle -flat_namespace -undefined suppress -w -L/usr/lib/python2.5/config -L/Users/mx/Documents/work/GSoC_2008/bf-blender/branches/build/darwin/lib -lpython2.5 -lbf_freestyle -o ../../python/_Freestyle.so ModuleWrapper.o
|
|
|
|
########### Linux ###########
|
|
# g++ -shared -w -L/usr/lib/python2.5/config -L/home/joe/bf_blender_freestyle/build/linux2/lib -lpython2.5 -lbf_freestyle -o ../../python/_Freestyle.so ModuleWrapper.o
|
|
|