From d9256755e3a2a8e72cd3c5a2f33b2930a35fb145 Mon Sep 17 00:00:00 2001 From: Mitchell Stokes Date: Sat, 3 Nov 2018 12:32:29 -0700 Subject: [PATCH] deploy-ng: Allow setting build_apps command line options via bdist_apps command line options --- direct/src/showutil/dist.py | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/direct/src/showutil/dist.py b/direct/src/showutil/dist.py index 8668fd4e73..2e348ed629 100644 --- a/direct/src/showutil/dist.py +++ b/direct/src/showutil/dist.py @@ -1133,10 +1133,16 @@ class bdist_apps(setuptools.Command): } description = 'bundle built Panda3D applications into distributable forms' - user_options = [] + user_options = build_apps.user_options + [ + ] + + def _build_apps_options(self): + return [opt[0].replace('-', '_').replace('=', '') for opt in build_apps.user_options] def initialize_options(self): self.installers = {} + for opt in self._build_apps_options(): + setattr(self, opt, None) def finalize_options(self): # We need to massage the inputs a bit in case they came from a @@ -1283,14 +1289,16 @@ class bdist_apps(setuptools.Command): subprocess.check_call(cmd) def run(self): - build_cmd = self.get_finalized_command('build_apps') - if not build_cmd.platforms: - platforms = [p3d.PandaSystem.get_platform()] - else: - platforms = build_cmd.platforms - build_base = build_cmd.build_base - + build_cmd = self.distribution.get_command_obj('build_apps') + for opt in self._build_apps_options(): + optval = getattr(self, opt) + if optval is not None: + setattr(build_cmd, opt, optval) + build_cmd.finalize_options() self.run_command('build_apps') + + platforms = build_cmd.platforms + build_base = build_cmd.build_base os.chdir(build_base) for platform in platforms: