fbt_version.py 762 B

1234567891011121314151617181920212223242526272829303132
  1. from SCons.Action import Action
  2. from SCons.Builder import Builder
  3. def version_emitter(target, source, env):
  4. target_dir = target[0]
  5. target = [
  6. target_dir.File("version.inc.h"),
  7. target_dir.File("version.json"),
  8. ]
  9. return target, source
  10. def generate(env):
  11. env.SetDefault(
  12. VERSION_SCRIPT="${FBT_SCRIPT_DIR}/version.py",
  13. )
  14. env.Append(
  15. BUILDERS={
  16. "VersionBuilder": Builder(
  17. action=Action(
  18. '${PYTHON3} "${VERSION_SCRIPT}" generate -t ${TARGET_HW} -o ${TARGET.dir.posix} --dir "${ROOT_DIR}"',
  19. "${VERSIONCOMSTR}",
  20. ),
  21. emitter=version_emitter,
  22. ),
  23. }
  24. )
  25. def exists(env):
  26. return True