__init__.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from devtools.yamaker import fileutil
  2. from devtools.yamaker.project import CMakeNinjaNixProject
  3. def post_install(self):
  4. # Avoid accidental inclusions between flatbuffers and flatbuffers64 headers.
  5. fileutil.re_sub_dir(self.dstdir + "/include/flatbuffers", '#include "flatbuffers/', '#include "')
  6. with self.yamakes["flatc"] as m:
  7. m.after(
  8. "PROGRAM",
  9. """
  10. INDUCED_DEPS(
  11. h+cpp
  12. ${ARCADIA_ROOT}/contrib/libs/flatbuffers/include/flatbuffers/flatbuffers.h
  13. ${ARCADIA_ROOT}/contrib/libs/flatbuffers/include/flatbuffers/flatbuffers_iter.h
  14. )
  15. """,
  16. )
  17. m.SRCS.add("src/idl_gen_cpp_yandex_maps_iter.cpp")
  18. m.PEERDIR.add("contrib/restricted/abseil-cpp/absl/base")
  19. with self.yamakes["."] as m:
  20. # Remove ADDINCL GLOBAL to keep status quo.
  21. m.ADDINCL.get(self.arcdir + "/include").GLOBAL = False
  22. m.PEERDIR.add("contrib/restricted/abseil-cpp/absl/base")
  23. flatbuffers = CMakeNinjaNixProject(
  24. owners=["g:cpp-contrib"],
  25. arcdir="contrib/libs/flatbuffers",
  26. nixattr="flatbuffers",
  27. put={
  28. "flatbuffers": ".",
  29. "flatc": "flatc",
  30. },
  31. copy_sources=[
  32. "include/flatbuffers/*.h",
  33. ],
  34. keep_paths=[
  35. "include/flatbuffers/flatbuffers_iter.h",
  36. "src/idl_gen_cpp_yandex_maps_iter.cpp",
  37. "src/idl_gen_cpp_yandex_maps_iter.h",
  38. ],
  39. disable_includes=[
  40. "absl/strings/string_view.h",
  41. "experimental/string_view",
  42. "utility.h",
  43. "FLATBUFFERS_ASSERT_INCLUDE",
  44. "FLATBUFFERS64_ASSERT_INCLUDE",
  45. ],
  46. post_install=post_install,
  47. )