OSDN Git Service

add constraint.
[meshio/meshio.git] / swig / setup.py
index 8111c64..8c24857 100644 (file)
@@ -1,76 +1,78 @@
-# setup.py
+# coding: utf-8
 
 from distutils.core import setup, Extension
+import os
+import sys
 
-# mqo
-###############################################################################
-mqoExtension=Extension("_mqo",
-        ["mqo.i"],
-        swig_opts=['-c++'],
-        include_dirs=[
+option={
+        'swig_opts': ['-c++'],
+        'include_dirs': [
             '../include'
             ],
-        libraries=[
+        'libraries': [
             'meshio',
             ],
-        library_dirs=[
+        'library_dirs': [
             '../release',
-            'T:/Blender/bf-blender/lib/windows/python/lib',
             ],
-        extra_compile_args=[
-            '/EHsc', '/MT', '/D_WIN32',
-            ],
-        extra_link_args=[
-            ],
-        )
+        }
 
-# pmd
-###############################################################################
-pmdExtension=Extension("_pmd",
-        ["pmd.i"],
-        swig_opts=['-c++'],
-        include_dirs=[
-            '../include'
-            ],
-        libraries=[
-            'meshio',
-            ],
-        library_dirs=[
-            '../release',
-            ],
-        extra_compile_args=[
-            '/EHsc', '/MT', '/D_WIN32',
-            ],
-        extra_link_args=[
-            ],
-        )
+if os.name=='nt':
+    # vc option
+    option['extra_compile_args']=[
+            '/EHsc', '/MT',
+            ]
 
-# vmd
-###############################################################################
-vmdExtension=Extension("_vmd",
-        ["vmd.i"],
-        swig_opts=['-c++'],
-        include_dirs=[
-            '../include'
-            ],
-        libraries=[
-            'meshio',
-            ],
-        library_dirs=[
-            '../release',
-            ],
-        extra_compile_args=[
-            '/EHsc', '/MT', '/D_WIN32',
-            ],
-        extra_link_args=[
-            ],
-        )
+# swig c extensions    
+ext_modules=[
+        Extension("_mqo", ["mqo.i"], **option),
+        Extension("_pmd", ["pmd.i"], **option),
+        Extension("_vmd", ["vmd.i"], **option),
+        ]
+
+# blender importers
+if sys.version_info[0]<3:
+    # blender 2.4
+     data_files=[
+             ('blender24', [
+                 'blender24/README',
+                 'mqo_import.py', 
+                 'mqo_export.py',
+                 'pmd_import.py', 
+                 'pmd_export.py', 
+                 'blender24/vmd_import.py',
+                 ])
+             ]
 
+else:
+    # blender2.5
+    data_files=[
+            ('blender25', [
+                'blender25/README',
+                'import_scene_mqo.py',
+                'export_scene_mqo.py',
+                'import_scene_pmd.py',
+                'export_scene_pmd.py',
+                ])
+            ]
 
-setup(name="meshio",
-        packages=['meshio'],
-        package_dir={'meshio': '.'},
-        ext_package='meshio',
-        ext_modules=[mqoExtension, pmdExtension, vmdExtension]
-        )
+# スタティックruntime(/MT)とリンクするのでマニフェストが不要だが
+# mt.exeの呼び出しを止めることができないので
+for i in range(len(ext_modules)+1):
+    try:
+        setup(name="meshio",
+                version='0.6',
+                description='polygon mesh io utilities',
+                author='ousttrue',
+                author_email='ousttrue@gmail.com',
+                url='http://sourceforge.jp/projects/meshio/',
+                packages=['meshio'],
+                package_dir={'meshio': '.'},
+                ext_package='meshio',
+                ext_modules=ext_modules,
+                data_files=data_files
+                )
+        break
+    except:
+        continue