diff options
Diffstat (limited to 'OMChem/setup.py')
-rw-r--r-- | OMChem/setup.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/OMChem/setup.py b/OMChem/setup.py new file mode 100644 index 0000000..037da1c --- /dev/null +++ b/OMChem/setup.py @@ -0,0 +1,54 @@ +try: + from setuptools import setup +except ImportError: + from distutils.core import setup + +from subprocess import call +import sys +import os +# Python 3.3 offers shutil.which() +from distutils import spawn + +def warningOrError(errorOnFailure, msg): + if errorOnFailure: + raise Exception(msg) + else: + print(msg) + +def generateIDL(): + errorOnFailure = not os.path.exists(os.path.join(os.path.dirname(__file__), 'OMPythonIDL', '__init__.py')) + try: + omhome = os.path.split(os.path.split(os.path.realpath(spawn.find_executable("omc")))[0])[0] + except: + omhome = None + omhome = omhome or os.environ.get('OPENMODELICAHOME') + + if omhome is None: + warningOrError(errorOnFailure, "Failed to find OPENMODELICAHOME (searched for environment variable as well as the omc executable)") + return + idl = os.path.join(omhome,"share","omc","omc_communication.idl") + if not os.path.exists(idl): + warningOrError(errorOnFailure, "Path not found: %s" % idl) + return + + if 0 is not call(["omniidl","-bpython","-Wbglobal=_OMCIDL","-Wbpackage=OMPythonIDL",idl]): + warningOrError(errorOnFailure, "omniidl command failed") + return + print("Generated OMPythonIDL files") +generateIDL() + +setup(name='OMPython', + version='2.0.7', + description='OpenModelica-Python API Interface', + author='Anand Kalaiarasi Ganeson', + author_email='ganan642@student.liu.se', + maintainer='Adeel Asghar', + maintainer_email='adeel.asghar@liu.se', + license="BSD, OSMC-PL 1.2, GPL (user's choice)", + url='http://openmodelica.org/', + packages=['OMPython', 'OMPython.OMParser', 'OMPythonIDL', 'OMPythonIDL._OMCIDL', 'OMPythonIDL._OMCIDL__POA'], + install_requires=[ + # 'omniORB', # Required, but not part of pypi + 'pyparsing' + ] +) |