mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-03 21:44:30 +08:00
105 lines
3.4 KiB
Python
105 lines
3.4 KiB
Python
#!/usr/bin/env python
|
|
#
|
|
|
|
from distutils.core import setup,Extension
|
|
from distutils import sysconfig
|
|
import os, sys, re, glob, shutil
|
|
|
|
version='2009.Q1b2'
|
|
|
|
module_ext = sysconfig.get_config_var('SO')
|
|
if sys.platform=="win32":
|
|
install_base="Lib/site-packages"
|
|
else:
|
|
install_base = os.path.join(sysconfig.get_config_var('LIBDEST'),'site-packages')
|
|
ext_modules=[]
|
|
|
|
child_packages = [
|
|
"rdkit.Chem",
|
|
"rdkit.DataManip",
|
|
"rdkit.DataStructs",
|
|
"rdkit.Dbase",
|
|
"rdkit.DistanceGeometry",
|
|
"rdkit.ForceField",
|
|
"rdkit.Geometry",
|
|
"rdkit.Logger",
|
|
"rdkit.ML",
|
|
"rdkit.Numerics",
|
|
"rdkit.SimDivFilters",
|
|
"rdkit.VLib",
|
|
"rdkit.sping",
|
|
"rdkit.utils",
|
|
]
|
|
|
|
sos = [(os.path.join(install_base,'rdkit'),['rdkit/rdBase'+module_ext])]
|
|
|
|
py_packages = ["rdkit"]+child_packages
|
|
|
|
for pkg in child_packages:
|
|
for root,dirs,files in os.walk(pkg.replace('.','/')):
|
|
if '.svn' in dirs: dirs.remove('.svn')
|
|
if 'test_data' in dirs: dirs.remove('test_data')
|
|
|
|
modName=root.replace(os.path.sep,'.')
|
|
if '__init__.py' in files and modName not in py_packages:
|
|
py_packages.append(modName)
|
|
|
|
files=[os.path.join(root,file) for file in files if (os.path.splitext(file)[-1]==module_ext or\
|
|
'test_data' in root)]
|
|
sos.extend([(os.path.join(install_base,root),files)])
|
|
|
|
extraBase='share/rdkit'
|
|
|
|
|
|
projects=[]
|
|
for root,dirs,files in os.walk('Projects'):
|
|
if '.svn' in dirs: dirs.remove('.svn')
|
|
|
|
files=[os.path.join(root,filen) for filen in files]
|
|
projects.append((extraBase+'/'+root,files))
|
|
|
|
data_files = [(extraBase+'/Data',glob.glob('Data/*.*'))]
|
|
data_files.extend([(extraBase,glob.glob('./*.txt'))])
|
|
if sys.platform=='win32':
|
|
data_files.extend([(extraBase+'/lib',glob.glob('bin/*.dll'))])
|
|
else:
|
|
data_files.extend([(extraBase+'/lib',glob.glob('bin/*'))])
|
|
data_files.extend(sos)
|
|
|
|
|
|
|
|
documentation = []
|
|
for root,dirs,files in os.walk('Docs'):
|
|
if '.svn' in dirs: dirs.remove('.svn')
|
|
|
|
files=[os.path.join(root,filen) for filen in files]
|
|
documentation.append((extraBase+'/'+root,files))
|
|
|
|
|
|
setup(
|
|
name='rdkit',
|
|
version=version,
|
|
description='RDKit Cheminformatics Library',
|
|
long_description="""Data structures, algorithms, and scripts for cheminformatics.""",
|
|
author='Greg Landrum',
|
|
author_email='glandrum@users.sourceforge.net',
|
|
url='http://www.rdkit.org/',
|
|
download_url = 'http://code.google.com/p/rdkit/downloads/list',
|
|
license='BSD',
|
|
platforms=['Windows','Linux','Mac OS-X'],
|
|
classifiers = ['Development Status :: 5 - Production/Stable',
|
|
'Environment :: Console',
|
|
'Intended Audience :: Developers',
|
|
'Intended Audience :: Science/Research',
|
|
'Programming Language :: Python',
|
|
'Programming Language :: C++',
|
|
'License :: OSI Approved :: BSD License',
|
|
'Topic :: Scientific/Engineering :: Chemistry',
|
|
|
|
],
|
|
packages=py_packages,
|
|
ext_modules=ext_modules,
|
|
package_dir={'rdkit':'rdkit'},
|
|
data_files=data_files+documentation+projects,
|
|
)
|