SConscript 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. Alias("version_json", fw_version_json)
  24. env.Append(FW_VERSION_JSON=fw_version_json)
  25. # Default(fw_version_json)
  26. if not version_depends:
  27. libenv.Precious(build_version)
  28. libenv.AlwaysBuild(build_version)
  29. sources = libenv.GlobRecursive("*.c")
  30. libenv.Append(CPPPATH=[libenv.Dir(".")])
  31. lib = libenv.StaticLibrary("${FW_LIB_NAME}", sources)
  32. libenv.Install("${LIB_DIST_DIR}", lib)
  33. Return("lib")