Added missing --gen-mutable to CMakeLists.txt

Change-Id: I56392340de4439d05fa8f06a7336ff72c6f9346d
Tested: on Linux
parent 3ec5dddb
...@@ -104,7 +104,7 @@ function(compile_flatbuffers_schema_to_cpp SRC_FBS) ...@@ -104,7 +104,7 @@ function(compile_flatbuffers_schema_to_cpp SRC_FBS)
string(REGEX REPLACE "\\.fbs$" "_generated.h" GEN_HEADER ${SRC_FBS}) string(REGEX REPLACE "\\.fbs$" "_generated.h" GEN_HEADER ${SRC_FBS})
add_custom_command( add_custom_command(
OUTPUT ${GEN_HEADER} OUTPUT ${GEN_HEADER}
COMMAND flatc -c -o "${SRC_FBS_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/${SRC_FBS}" COMMAND flatc -c --gen-mutable -o "${SRC_FBS_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/${SRC_FBS}"
DEPENDS flatc) DEPENDS flatc)
endfunction() endfunction()
......
...@@ -50,18 +50,27 @@ MANUALLY_ALIGNED_STRUCT(4) Vec3 FLATBUFFERS_FINAL_CLASS { ...@@ -50,18 +50,27 @@ MANUALLY_ALIGNED_STRUCT(4) Vec3 FLATBUFFERS_FINAL_CLASS {
: x_(flatbuffers::EndianScalar(x)), y_(flatbuffers::EndianScalar(y)), z_(flatbuffers::EndianScalar(z)) { } : x_(flatbuffers::EndianScalar(x)), y_(flatbuffers::EndianScalar(y)), z_(flatbuffers::EndianScalar(z)) { }
float x() const { return flatbuffers::EndianScalar(x_); } float x() const { return flatbuffers::EndianScalar(x_); }
void mutate_x(float x) { flatbuffers::WriteScalar(&x_, x); }
float y() const { return flatbuffers::EndianScalar(y_); } float y() const { return flatbuffers::EndianScalar(y_); }
void mutate_y(float y) { flatbuffers::WriteScalar(&y_, y); }
float z() const { return flatbuffers::EndianScalar(z_); } float z() const { return flatbuffers::EndianScalar(z_); }
void mutate_z(float z) { flatbuffers::WriteScalar(&z_, z); }
}; };
STRUCT_END(Vec3, 12); STRUCT_END(Vec3, 12);
struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
const Vec3 *pos() const { return GetStruct<const Vec3 *>(4); } const Vec3 *pos() const { return GetStruct<const Vec3 *>(4); }
Vec3 *mutable_pos() { return GetStruct<Vec3 *>(4); }
int16_t mana() const { return GetField<int16_t>(6, 150); } int16_t mana() const { return GetField<int16_t>(6, 150); }
bool mutate_mana(int16_t mana) { return SetField(6, mana); }
int16_t hp() const { return GetField<int16_t>(8, 100); } int16_t hp() const { return GetField<int16_t>(8, 100); }
bool mutate_hp(int16_t hp) { return SetField(8, hp); }
const flatbuffers::String *name() const { return GetPointer<const flatbuffers::String *>(10); } const flatbuffers::String *name() const { return GetPointer<const flatbuffers::String *>(10); }
flatbuffers::String *mutable_name() { return GetPointer<flatbuffers::String *>(10); }
const flatbuffers::Vector<uint8_t> *inventory() const { return GetPointer<const flatbuffers::Vector<uint8_t> *>(14); } const flatbuffers::Vector<uint8_t> *inventory() const { return GetPointer<const flatbuffers::Vector<uint8_t> *>(14); }
flatbuffers::Vector<uint8_t> *mutable_inventory() { return GetPointer<flatbuffers::Vector<uint8_t> *>(14); }
Color color() const { return static_cast<Color>(GetField<int8_t>(16, 2)); } Color color() const { return static_cast<Color>(GetField<int8_t>(16, 2)); }
bool mutate_color(Color color) { return SetField(16, static_cast<int8_t>(color)); }
bool Verify(flatbuffers::Verifier &verifier) const { bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) && return VerifyTableStart(verifier) &&
VerifyField<Vec3>(verifier, 4 /* pos */) && VerifyField<Vec3>(verifier, 4 /* pos */) &&
...@@ -120,6 +129,8 @@ inline bool VerifyAny(flatbuffers::Verifier &verifier, const void *union_obj, An ...@@ -120,6 +129,8 @@ inline bool VerifyAny(flatbuffers::Verifier &verifier, const void *union_obj, An
inline const Monster *GetMonster(const void *buf) { return flatbuffers::GetRoot<Monster>(buf); } inline const Monster *GetMonster(const void *buf) { return flatbuffers::GetRoot<Monster>(buf); }
inline Monster *GetMutableMonster(void *buf) { return flatbuffers::GetMutableRoot<Monster>(buf); }
inline bool VerifyMonsterBuffer(flatbuffers::Verifier &verifier) { return verifier.VerifyBuffer<Monster>(); } inline bool VerifyMonsterBuffer(flatbuffers::Verifier &verifier) { return verifier.VerifyBuffer<Monster>(); }
inline void FinishMonsterBuffer(flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset<Monster> root) { fbb.Finish(root); } inline void FinishMonsterBuffer(flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset<Monster> root) { fbb.Finish(root); }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment