mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 19:08:55 -04:00
Adding a dist module that can be imported to use FreezeTool as part of setup.py
This commit is contained in:
parent
b1a57643f9
commit
471090d1b4
34
direct/src/showutil/dist.py
Normal file
34
direct/src/showutil/dist.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
import distutils.dist
|
||||||
|
import distutils.command.build
|
||||||
|
import distutils.core
|
||||||
|
|
||||||
|
from direct.showutil import FreezeTool
|
||||||
|
|
||||||
|
class Distribution(distutils.dist.Distribution):
|
||||||
|
def __init__(self, attrs):
|
||||||
|
self.mainfile = ''
|
||||||
|
distutils.dist.Distribution.__init__(self, attrs)
|
||||||
|
|
||||||
|
|
||||||
|
class build(distutils.command.build.build):
|
||||||
|
def run(self):
|
||||||
|
distutils.command.build.build.run(self)
|
||||||
|
basename = os.path.join(self.build_base, self.distribution.get_fullname())
|
||||||
|
startfile = self.distribution.mainfile
|
||||||
|
|
||||||
|
if not os.path.exists(self.build_base):
|
||||||
|
os.makedirs(self.build_base)
|
||||||
|
|
||||||
|
freezer = FreezeTool.Freezer()
|
||||||
|
freezer.addModule('__main__', filename=startfile)
|
||||||
|
freezer.done(addStartupModules=True)
|
||||||
|
freezer.generateRuntimeFromStub(basename)
|
||||||
|
|
||||||
|
|
||||||
|
def setup(**attrs):
|
||||||
|
attrs.setdefault("distclass", Distribution)
|
||||||
|
commandClasses = attrs.setdefault("cmdclass", {})
|
||||||
|
commandClasses['build'] = build
|
||||||
|
distutils.core.setup(**attrs)
|
Loading…
x
Reference in New Issue
Block a user