Rework cmake flatc codegeneration (#7938)

* start fixing the code generation steps

* reworked flatc generation in cmake
15 files changed
tree: ca2318578492e5a41bb3ebd2ffc37a9e559d1b41
  1. .bazelci/
  2. .github/
  3. android/
  4. bazel/
  5. benchmarks/
  6. CMake/
  7. conan/
  8. dart/
  9. docs/
  10. examples/
  11. go/
  12. grpc/
  13. include/
  14. java/
  15. js/
  16. kotlin/
  17. lobster/
  18. lua/
  19. mjs/
  20. net/
  21. nim/
  22. php/
  23. python/
  24. reflection/
  25. rust/
  26. samples/
  27. scripts/
  28. snap/
  29. src/
  30. swift/
  31. tests/
  32. ts/
  33. .bazelignore
  34. .bazelrc
  35. .clang-format
  36. .clang-tidy
  37. .editorconfig
  38. .eslintrc.js
  39. .gitattributes
  40. .gitignore
  41. .npmrc
  42. BUILD.bazel
  43. build_defs.bzl
  44. CHANGELOG.md
  45. CMakeLists.txt
  46. composer.json
  47. conanfile.py
  48. CONTRIBUTING.md
  49. FlatBuffers.podspec
  50. Formatters.md
  51. LICENSE
  52. package.json
  53. Package.swift
  54. Package@swift-5.5.swift
  55. pnpm-lock.yaml
  56. README.md
  57. SECURITY.md
  58. swift.swiftformat
  59. tsconfig.json
  60. tsconfig.mjs.json
  61. typescript.bzl
  62. WORKSPACE
README.md

logo FlatBuffers

Build status BuildKite status Fuzzing Status OpenSSF Scorecard Join the chat at https://gitter.im/google/flatbuffers Discord Chat Twitter Follow Twitter Follow

FlatBuffers is a cross platform serialization library architected for maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.

Go to our landing page to browse our documentation.

Supported operating systems

  • Windows
  • macOS
  • Linux
  • Android
  • And any others with a recent C++ compiler (C++ 11 and newer)

Supported programming languages

Code generation and runtime libraries for many popular languages.

  1. C
  2. C++ - snapcraft.io
  3. C# - nuget.org
  4. Dart - pub.dev
  5. Go - go.dev
  6. Java - Maven
  7. JavaScript - NPM
  8. Kotlin
  9. Lobster
  10. Lua
  11. PHP
  12. Python - PyPI
  13. Rust - crates.io
  14. Swift - swiftpackageindex
  15. TypeScript - NPM
  16. Nim

Versioning

FlatBuffers does not follow traditional Semver versioning (see rationale) but rather uses a format of the date of the release.

Contribution

To contribute to this project, see CONTRIBUTING.

Community

Security

Please see our Security Policy for reporting vulnerabilities.

Licensing

Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.