#CODE IN PROGRESS, NOT WORKING YET from setuptools import setup, Extension from setuptools.command.build_ext import build_ext import sys import setuptools __version__ = '0.0.1' class get_pybind_include(object): """Helper class to determine the pybind11 include path""" def __init__(self, user=False): self.user = user def __str__(self): import pybind11 return pybind11.get_include(self.user) ext_modules = [ Extension( 'midigpt', ['src/lib.cpp','src/common/data_structures/train_config.cpp','src/dataset_creation/compression/lz4.c', 'src/dataset_creation/dataset_manipulation/bytes_to_file.cpp'], include_dirs=[ get_pybind_include(), get_pybind_include(user=True) ], language='c++' ), ] class BuildExt(build_ext): """A custom build extension for adding compiler-specific options.""" c_opts = { 'msvc': ['/EHsc'], 'unix': [], } if sys.platform == 'darwin': c_opts['unix'] += ['-stdlib=libc++', '-mmacosx-version-min=10.7'] def build_extensions(self): ct = self.compiler.compiler_type opts = self.c_opts.get(ct, []) if ct == 'unix': opts.append('-DVERSION_INFO="%s"' % self.distribution.get_version()) opts.append('-std=c++20') elif ct == 'msvc': opts.append('/DVERSION_INFO=\\"%s\\"' % self.distribution.get_version()) for ext in self.extensions: ext.extra_compile_args = opts build_ext.build_extensions(self) setup( name='midigpt', version=__version__, author='Jeff Ens, Rafael Arias', author_email='raa60@sfu.ca', url='', description='A Python wrapper for midigpt project', long_description='', ext_modules=ext_modules, install_requires=['pybind11>=2.5.0'], cmdclass={'build_ext': BuildExt}, zip_safe=False, )