app_helper.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import os
  2. import sys
  3. import awtk_locator as locator
  4. from SCons import Script
  5. def Helper(ARGUMENTS):
  6. locator.init(ARGUMENTS)
  7. from app_helper_base import AppHelperBase
  8. return AppHelperBase(ARGUMENTS)
  9. def prepare_depends_libs(ARGUMENTS, helper, libs):
  10. if ARGUMENTS.get('PREPARE_DEPENDS', '').lower().startswith('f'):
  11. return
  12. args = ' AWTK_ROOT=' + helper.AWTK_ROOT
  13. if helper.MVVM_ROOT:
  14. args += ' MVVM_ROOT=' + helper.MVVM_ROOT
  15. for key in ARGUMENTS:
  16. if not key == 'AWTK_ROOT' and not key == 'MVVM_ROOT':
  17. args += ' ' + key + '=' + ARGUMENTS[key]
  18. num_jobs_str = ''
  19. num_jobs = Script.GetOption('num_jobs')
  20. if num_jobs > 1:
  21. num_jobs_str = ' -j' + str(num_jobs)
  22. clean_str = ''
  23. if Script.GetOption('clean'):
  24. clean_str = ' -c '
  25. for lib in libs:
  26. if 'root' in lib and os.path.exists(lib['root'] + '/SConstruct'):
  27. cmd = 'cd ' + lib['root'] + ' && scons' + clean_str + num_jobs_str + args
  28. print(cmd)
  29. result = os.system(cmd)
  30. if not result == 0:
  31. sys.exit(result)