diff --git a/setup.py b/setup.py index 6aa76f0..bf8c88b 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,35 @@ +from setuptools.command.install import install +from setuptools.command.develop import develop +from setuptools.command.egg_info import egg_info + from setuptools import setup, find_packages +import sys + +def genResources(): + from PyQt5.pyrcc_main import main as pyrcc_main + saved_argv = sys.argv + # Use current environment to find pyrcc but use the public interface + sys.argv = ['pyrcc5', '-o', 'src/resources.py', 'resources.qrc'] + pyrcc_main() + sys.argv = saved_argv + +# https://stackoverflow.com/questions/19569557/pip-not-picking-up-a-custom-install-cmdclass +class genResourcesInstall(install): + def run(self): + genResources() + install.run(self) + +class genResourcesDevelop(develop): + def run(self): + genResources() + develop.run(self) + +class genResourcesEggInfo(egg_info): + def run(self): + genResources() + egg_info.run(self) + setup( name='rmview', version='0.1', @@ -13,6 +43,11 @@ setup( packages=['rmview'], install_requires=['pyqt5', 'paramiko', 'twisted'], entry_points={ - 'console_scripts':['rmview = rmview.rmview:rmViewMain'] + 'console_scripts':['rmview = rmview.rmview:rmViewMain'] + }, + cmdclass={ + 'install': genResourcesInstall, + 'develop': genResourcesDevelop, + 'egg_info': genResourcesEggInfo, } )