OSDN Git Service

implement constraint.
[meshio/meshio.git] / swig / setup.py
1 # coding: utf-8
2
3 from distutils.core import setup, Extension
4 import os
5 import sys
6
7 option={
8         'swig_opts': ['-c++'],
9         'include_dirs': [
10             '../include'
11             ],
12         'libraries': [
13             'meshio',
14             ],
15         'library_dirs': [
16             '../release',
17             ],
18         }
19
20 if os.name=='nt':
21     # vc option
22     option['extra_compile_args']=[
23             '/EHsc', '/MT',
24             ]
25
26 # swig c extensions    
27 ext_modules=[
28         Extension("_mqo", ["mqo.i"], **option),
29         Extension("_pmd", ["pmd.i"], **option),
30         Extension("_vmd", ["vmd.i"], **option),
31         ]
32
33 # blender importers
34 if sys.version_info[0]<3:
35     # blender 2.4
36      data_files=[
37              ('blender24', [
38                  'blender24/README',
39                  'bl24.py',
40                  'mqo_import.py', 
41                  'mqo_export.py',
42                  'pmd_import.py', 
43                  'pmd_export.py', 
44                  'blender24/vmd_import.py',
45                  ])
46              ]
47
48 else:
49     # blender2.5
50     data_files=[
51             ('blender25', [
52                 'blender25/README',
53                 'bl25.py',
54                 'import_scene_mqo.py',
55                 'export_scene_mqo.py',
56                 'import_scene_pmd.py',
57                 'export_scene_pmd.py',
58                 ])
59             ]
60
61 # スタティックruntime(/MT)とリンクするのでマニフェストが不要だが
62 # mt.exeの呼び出しを止めることができないので
63 for i in range(len(ext_modules)+1):
64     try:
65         setup(name="meshio",
66                 version='0.7',
67                 description='polygon mesh io utilities',
68                 author='ousttrue',
69                 author_email='ousttrue@gmail.com',
70                 url='http://sourceforge.jp/projects/meshio/',
71                 packages=['meshio'],
72                 package_dir={'meshio': '.'},
73                 ext_package='meshio',
74                 ext_modules=ext_modules,
75                 data_files=data_files
76                 )
77         break
78     except:
79         continue
80