1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
#!/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_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_FEdge.cpp',
prefix + '/Interface1D/BPy_Stroke.cpp',
prefix + '/BPy_MediumType.cpp',
prefix + '/BPy_Nature.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',
]
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
|