-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup-windows.py
125 lines (116 loc) · 5.36 KB
/
setup-windows.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
#!/usr/bin/env python
#
# setup for SUMMON package
#
# use the following to install summon:
# python setup.py install
#
from distutils.core import setup, Extension
from version import SUMMON_VERSION
setup(
name='summon',
version=SUMMON_VERSION,
description='A general 2D visualization prototyping module',
long_description = """
SUMMON is a python extension module that provides rapid prototyping of
2D visualizations. By heavily relying on the python scripting language,
SUMMON allows the user to rapidly prototype a custom visualization for
their data, without the overhead of designing a graphical user
interface or recompiling native code. By simplifying the task of
designing a visualization, users can spend more time on understanding
their data.
SUMMON is designed to be a fast interface for developing interactive
visualizations (via scene graphs) for OpenGL. Although python libraries
already exist for accessing OpenGL, python is relatively slow for
real-time interaction with large visualizations (trees with 100,000
leaves, sparse matrices with a million non-zeros, etc.). Therefore, with
SUMMON all real-time interaction is handled with compiled native C++
code (via extension module). Python is only executed in the construction
and occasional interaction with the visualization. This arrangement
provides the best of both worlds.
SUMMON was designed with several philosophies. First, a scripting
language (Python) is used to speed up the development process and avoid
overhead such as code compilation. Second, design of graphical user
interfaces should be minimized. Designing a good interface takes
planning and time to layout buttons, scrollbars, and dialog boxes. Yet
a poor interface is very painful to work with. Even when one has a good
interface, rarely can it be automated for batch mode. Instead, SUMMON
relies on the Python prompt for most interaction. This allows the
users direct access to the underlying code, which is more expressive,
and can be automated through scripting.
""",
author='Matt Rasmussen',
author_email='[email protected]',
url='http://people.csail.mit.edu/rasmus/summon/',
download_url='http://people.csail.mit.edu/rasmus/summon/download/summon-%s.tar.gz' % SUMMON_VERSION,
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Environment :: Win32 (MS Windows)',
'Environment :: X11 Applications',
'Intended Audience :: Developers',
'Intended Audience :: Education',
'Intended Audience :: End Users/Desktop',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)',
'Operating System :: MacOS :: MacOS X',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Programming Language :: Python',
'Programming Language :: C++',
'Topic :: Artistic Software',
'Topic :: Education',
'Topic :: Multimedia :: Graphics',
'Topic :: Scientific/Engineering :: Visualization',
],
package_dir = {'': 'lib'},
packages=['summon'],
py_modules=['summon_config'],
scripts=['bin/summon',
'bin/summatrix',
'bin/sumtree',
'bin/python-i'],
ext_modules=[
Extension(
'summon_core',
["src/Common/Script.cpp",
"src/Common/common.cpp",
"src/GlutMVC/Glut2DController.cpp",
"src/GlutMVC/Glut2DView.cpp",
"src/GlutMVC/GlutController.cpp",
"src/GlutMVC/GlutView.cpp",
"src/GlutMVC/glut2DCommands.cpp",
"src/GlutMVC/glutInputs.cpp",
"src/MVC/Binding.cpp",
"src/MVC/Command.cpp",
"src/MVC/Input.cpp",
"src/MVC/Model.cpp",
"src/MVC/StringCommand.cpp",
"src/SummonSceneGraph/summon_scene_graph.cpp",
"src/SummonSceneGraph/elements.cpp",
"src/SummonSceneGraph/Element.cpp",
"src/SummonSceneGraph/Graphic.cpp",
"src/SummonSceneGraph/Hotspot.cpp",
"src/SummonSceneGraph/TextElement.cpp",
"src/SummonSceneGraph/Transform.cpp",
"src/SummonSceneGraph/TransformMatrix.cpp",
"src/SummonSceneGraph/ZoomClamp.cpp",
"src/Summon/ScriptCommand.cpp",
"src/Summon/Summon.cpp",
"src/Summon/summonCommands.cpp",
"src/Summon/SummonController.cpp",
"src/Summon/SummonModel.cpp",
"src/Summon/SummonView.cpp"],
include_dirs=["src/MVC",
"src/GlutMVC",
"src/Common",
"src/Summon",
"src/SummonSceneGraph",
"windows/include"],
libraries=["OpenGLUT", "opengl32", "SDL"],
library_dirs=["windows/lib"],
undef_macros=["NDEBUG"],
# don't use -DNDEBUG (it breaks summon at runtime)
define_macros=[("NOGLUTEXT", "1"),
("SUMMON_MSW", "1")])]
)