SConscript 988 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. Import("env")
  2. from fbt.version import get_fast_git_version_id
  3. env.Append(
  4. CPPPATH=[
  5. "#/lib/toolbox",
  6. ],
  7. )
  8. libenv = env.Clone(tools=["fbt_version"], FW_LIB_NAME="toolbox")
  9. libenv.ApplyLibFlags()
  10. # Git Version management
  11. version_depends = []
  12. version_id_data = get_fast_git_version_id()
  13. if version_id_data:
  14. version_depends = Value(version_id_data)
  15. # Only invoke version generator if preliminary check target (version_depends) has changed
  16. build_version = libenv.VersionBuilder(
  17. Dir("."),
  18. version_depends,
  19. )
  20. fw_version_json = libenv.InstallAs(
  21. "${BUILD_DIR}/${FIRMWARE_BUILD_CFG}.json", "version.json"
  22. )
  23. env.Append(FW_VERSION_JSON=fw_version_json)
  24. # Default(fw_version_json)
  25. if not version_depends:
  26. libenv.Precious(build_version)
  27. libenv.AlwaysBuild(build_version)
  28. sources = libenv.GlobRecursive("*.c")
  29. libenv.Append(CPPPATH=["."])
  30. lib = libenv.StaticLibrary("${FW_LIB_NAME}", sources)
  31. libenv.Install("${LIB_DIST_DIR}", lib)
  32. Return("lib")