diff --git a/direct/src/showutil/dist.py b/direct/src/showutil/dist.py index fc06f851cc..121f517217 100644 --- a/direct/src/showutil/dist.py +++ b/direct/src/showutil/dist.py @@ -34,6 +34,7 @@ class build(distutils.command.build.build): gamedir = self.distribution.game_dir startfile = os.path.join(gamedir, self.distribution.mainfile) + # Create runtime freezer = FreezeTool.Freezer() freezer.addModule('__main__', filename=startfile) freezer.excludeModule('panda3d') @@ -42,6 +43,23 @@ class build(distutils.command.build.build): freezer.done(addStartupModules=True) freezer.generateRuntimeFromStub(basename) + # Copy Panda3D libs + dtool_dir = os.path.dirname(p3d.ExecutionEnvironment.get_dtool_name()) + libdir = os.path.join(dtool_dir, '..', 'lib') + src = os.path.join(libdir, '..', 'panda3d') + dst = os.path.join(builddir, 'panda3d') + distutils.dir_util.copy_tree(src, dst) + + for item in os.listdir(libdir): + if '.so.' in item or item.endswith('.dll') or 'libpandagl' in item: + distutils.file_util.copy_file(os.path.join(libdir, item), os.path.join(builddir, item)) + + # Copy etc + src = os.path.join(dtool_dir, '..', 'etc') + dst = os.path.join(builddir, 'etc') + distutils.dir_util.copy_tree(src, dst) + + # Copy Game Files ignore_copy_list = [ '__pycache__', self.distribution.mainfile,