-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsetup.py
143 lines (132 loc) · 4.79 KB
/
setup.py
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#!/usr/bin/env python
# $Id$
import sys
from distutils.core import setup, Extension
extra_link_args = []
macros = [('GLEW_STATIC', None)]
if sys.platform.startswith('linux'):
include_dirs = ['/usr/include', '/usr/local/include/',
'/usr/X11/include', '/usr/X11R6/include', 'glew/include']
library_dirs = ['/usr/lib', '/usr/local/lib',
'/usr/X11/lib', '/usr/X11R6/lib']
libraries = ['GL', 'X11', 'Xext']
elif sys.platform == 'cygwin':
include_dirs = ['/usr/include', '/usr/include/win32api/', 'glew/include']
library_dirs = ['/usr/lib']
libraries = ['opengl32']
elif sys.platform == 'win32':
include_dirs = ['../include', 'glew/include']
library_dirs = ['../lib']
libraries = ['opengl32']
elif sys.platform == 'darwin':
include_dirs = ['/System/Library/Frameworks/OpenGL.framework/Headers',
'/System/Library/Frameworks/GLUT.framework/Headers', 'glew/include']
library_dirs = []
libraries = []
extra_link_args = ['-framework:OpenGL']
else:
print >>sys.stderr, "Platform", sys.platform, "not really supported just yet"
include_dirs = ['glew/include']
library_dirs = []
libraries = []
compile_args = [] # disable compile args for now
setup(
name='lepton',
version='1.0b2', # *** REMEMBER TO UPDATE __init__.py ***
description='Lepton: A high-performance, pluggable particle engine and API for Python',
long_description='''\
Lepton is designed to make complex and beautiful particle effects possible,
and even easy from Python programs.
Lepton provides the following core features:
- Native-code core for high-performance particle dynamics and rendering
- Pluggable particle controllers for specifying particle behavior
- Two pluggable OpenGL renderers, and two pygame renderers
- Spacial domains, used to control particle emission and behavior
- Easy to use and powerful texture support, including animation
- Modular architecture that lets you easily configure and customize the engine
The code includes several examples of how you can use the engine (using
pyglet, and pygame). Note the engine itself does not depend on any other 3rd-party
libraries and simply requires the application to setup an OpenGL context in
order to render particles.
You can download binary releases or browse the source code at our Google code site.
''',
author='Casey Duncan, Harry Tormey & Contributors',
author_email='[email protected]',
url='http://code.google.com/p/py-lepton/',
license='MIT',
classifiers = [
'Development Status :: 4 - Beta',
'Topic :: Multimedia :: Graphics',
'License :: OSI Approved :: MIT License',
'Intended Audience :: Developers',
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
],
package_dir={'lepton': 'lepton', 'lepton.examples': 'examples'},
package_data={'lepton.examples': ['*.png', '*.bmp', 'logo_frames/*.png']},
packages=['lepton', 'lepton.examples'],
ext_modules=[
Extension('lepton.group',
['lepton/group.c', 'lepton/groupmodule.c'],
include_dirs=include_dirs,
library_dirs=library_dirs,
libraries=libraries,
extra_link_args=extra_link_args,
extra_compile_args=compile_args,
define_macros=macros,
),
Extension('lepton.renderer',
['lepton/group.c', 'lepton/renderermodule.c',
'lepton/controllermodule.c', 'lepton/groupmodule.c',
'glew/src/glew.c'],
include_dirs=include_dirs,
library_dirs=library_dirs,
libraries=libraries,
extra_link_args=extra_link_args,
extra_compile_args=compile_args,
define_macros=macros,
),
Extension('lepton._texturizer',
['lepton/group.c', 'lepton/texturizermodule.c',
'lepton/renderermodule.c', 'lepton/controllermodule.c',
'lepton/groupmodule.c', 'glew/src/glew.c'],
include_dirs=include_dirs,
library_dirs=library_dirs,
libraries=libraries,
extra_link_args=extra_link_args,
extra_compile_args=compile_args,
define_macros=macros,
),
Extension('lepton._controller',
['lepton/group.c', 'lepton/groupmodule.c',
'lepton/controllermodule.c'],
include_dirs=include_dirs,
library_dirs=library_dirs,
libraries=libraries,
extra_link_args=extra_link_args,
extra_compile_args=compile_args,
define_macros=macros,
),
Extension('lepton.emitter',
['lepton/group.c', 'lepton/groupmodule.c',
'lepton/fastrng.c', 'lepton/emittermodule.c'],
include_dirs=include_dirs,
library_dirs=library_dirs,
libraries=libraries,
extra_link_args=extra_link_args,
extra_compile_args=compile_args,
define_macros=macros,
),
Extension('lepton._domain',
['lepton/group.c', 'lepton/groupmodule.c',
'lepton/fastrng.c', 'lepton/domainmodule.c'],
include_dirs=include_dirs,
library_dirs=library_dirs,
libraries=libraries,
extra_link_args=extra_link_args,
extra_compile_args=compile_args,
define_macros=macros,
),
],
)