445
|
1 cmake_minimum_required(VERSION 2.8.3)
|
|
2
|
|
3 project(BasicFlatBuffersTest)
|
|
4
|
|
5 set(AUTOGENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/AUTOGENERATED")
|
|
6 set(AUTOGENERATED_SOURCES)
|
|
7
|
|
8 set(FLATC_EXECUTABLE "flatc")
|
|
9
|
|
10 set(DEPOT_ROOT "/osimis")
|
|
11
|
|
12 set(SCRIPT_CPP_OPTIONS)
|
|
13 list(APPEND SCRIPT_CPP_OPTIONS "--gen-object-api")
|
|
14 list(APPEND SCRIPT_CPP_OPTIONS "--cpp")
|
|
15 list(APPEND SCRIPT_CPP_OPTIONS "--gen-onefile")
|
|
16 list(APPEND SCRIPT_CPP_OPTIONS "--gen-all")
|
|
17 list(APPEND SCRIPT_CPP_OPTIONS "--force-empty")
|
|
18 list(APPEND SCRIPT_CPP_OPTIONS "--reflect-types")
|
|
19 list(APPEND SCRIPT_CPP_OPTIONS "--reflect-names")
|
|
20
|
|
21 set(SCRIPT_TS_OPTIONS)
|
|
22 list(APPEND SCRIPT_TS_OPTIONS "--gen-object-api")
|
|
23 list(APPEND SCRIPT_TS_OPTIONS "--ts")
|
|
24 list(APPEND SCRIPT_TS_OPTIONS "--gen-onefile")
|
|
25 list(APPEND SCRIPT_TS_OPTIONS "--gen-all")
|
|
26 list(APPEND SCRIPT_TS_OPTIONS "--no-js-exports")
|
|
27 list(APPEND SCRIPT_TS_OPTIONS "--force-empty")
|
|
28 list(APPEND SCRIPT_TS_OPTIONS "--reflect-types")
|
|
29 list(APPEND SCRIPT_TS_OPTIONS "--reflect-names")
|
|
30
|
|
31 set(SCRIPT_JS_OPTIONS)
|
|
32 list(APPEND SCRIPT_JS_OPTIONS "--gen-object-api")
|
|
33 list(APPEND SCRIPT_JS_OPTIONS "--js")
|
|
34 list(APPEND SCRIPT_JS_OPTIONS "--gen-onefile")
|
|
35 list(APPEND SCRIPT_JS_OPTIONS "--gen-all")
|
|
36 list(APPEND SCRIPT_JS_OPTIONS "--no-js-exports")
|
|
37 list(APPEND SCRIPT_JS_OPTIONS "--force-empty")
|
|
38 list(APPEND SCRIPT_JS_OPTIONS "--reflect-types")
|
|
39 list(APPEND SCRIPT_JS_OPTIONS "--reflect-names")
|
|
40
|
|
41 set(SCHEMA_FILE "${CMAKE_CURRENT_LIST_DIR}/basic.fbs")
|
|
42 set(AUTOGENERATED_CPP_FILE "${CMAKE_BINARY_DIR}/basic_generated.h")
|
|
43 set(AUTOGENERATED_TS_FILE "${CMAKE_BINARY_DIR}/basic_generated.ts")
|
|
44 set(AUTOGENERATED_JS_FILE "${CMAKE_BINARY_DIR}/basic_generated.js")
|
|
45
|
|
46 add_custom_command(
|
|
47 OUTPUT
|
|
48 ${AUTOGENERATED_CPP_FILE}
|
|
49 COMMAND
|
|
50 ${FLATC_EXECUTABLE} ${SCRIPT_CPP_OPTIONS} ${SCHEMA_FILE}
|
|
51 DEPENDS
|
|
52 ${SCHEMA_FILE}
|
|
53 )
|
|
54
|
|
55 add_custom_command(
|
|
56 OUTPUT
|
|
57 ${AUTOGENERATED_TS_FILE}
|
|
58 COMMAND
|
|
59 ${FLATC_EXECUTABLE} ${SCRIPT_TS_OPTIONS} ${SCHEMA_FILE}
|
|
60 DEPENDS
|
|
61 ${SCHEMA_FILE}
|
|
62 )
|
|
63
|
|
64 add_custom_command(
|
|
65 OUTPUT
|
|
66 ${AUTOGENERATED_JS_FILE}
|
|
67 COMMAND
|
|
68 ${FLATC_EXECUTABLE} ${SCRIPT_JS_OPTIONS} ${SCHEMA_FILE}
|
|
69 DEPENDS
|
|
70 ${SCHEMA_FILE}
|
|
71 )
|
|
72
|
|
73 list(APPEND AUTOGENERATED_SOURCES ${AUTOGENERATED_CPP_FILE} ${AUTOGENERATED_TS_FILE} ${AUTOGENERATED_JS_FILE})
|
|
74
|
|
75 message("AUTOGENERATED_SOURCES = ${AUTOGENERATED_SOURCES}")
|
|
76 add_executable(BasicFlatBuffersTest main.cpp ${SCHEMA_FILE} ${AUTOGENERATED_SOURCES})
|
|
77
|
|
78 target_include_directories(BasicFlatBuffersTest PRIVATE ${DEPOT_ROOT}/ThirdParty/flatbuffers-1.10/include)
|
|
79 target_include_directories(BasicFlatBuffersTest PRIVATE ${CMAKE_BINARY_DIR})
|