@@ -9,25 +9,45 @@ set(DATA_SRC "${PROJECT_SOURCE_DIR}/test/flatc_compat")
99
1010include_directories ("${GEN_DIR} " "${INC_DIR} " )
1111
12- add_custom_target (gen_monster_test_json ALL )
12+ file (GLOB FBS_FS ${FBS_DIR} /*.fbs)
13+ list (TRANSFORM FBS_FS
14+ REPLACE "${FBS_DIR} /(.*)\\ .fbs$" "${GEN_DIR} /\\ 1_builder.h"
15+ OUTPUT_VARIABLE FBS_B_HS
16+ )
17+ list (TRANSFORM FBS_FS
18+ REPLACE "${FBS_DIR} /(.*)\\ .fbs$" "${GEN_DIR} /\\ 1_reader.h"
19+ OUTPUT_VARIABLE FBS_R_HS
20+ )
21+ list (TRANSFORM FBS_FS
22+ REPLACE "${FBS_DIR} /(.*)\\ .fbs$" "${GEN_DIR} /\\ 1_verifier.h"
23+ OUTPUT_VARIABLE FBS_V_HS
24+ )
25+ list (TRANSFORM FBS_FS
26+ REPLACE "${FBS_DIR} /(.*)\\ .fbs$" "${GEN_DIR} /\\ 1_json_printer.h"
27+ OUTPUT_VARIABLE FBS_JPR_HS
28+ )
29+ list (TRANSFORM FBS_FS
30+ REPLACE "${FBS_DIR} /(.*)\\ .fbs$" "${GEN_DIR} /\\ 1_json_parser.h"
31+ OUTPUT_VARIABLE FBS_JPA_HS
32+ )
33+
34+ list (APPEND FBS_R_HS ${GEN_DIR} /flatbuffers_common_reader.h)
35+ list (APPEND FBS_B_HS ${GEN_DIR} /flatbuffers_common_builder.h)
36+
1337add_custom_command (
14- TARGET gen_monster_test_json
38+ OUTPUT ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS}
1539 COMMAND ${CMAKE_COMMAND} -E make_directory "${GEN_DIR} "
1640 COMMAND ${CMAKE_COMMAND} -E copy "${DATA_SRC} /monsterdata_test.golden" "${DATA_DST} "
1741 COMMAND ${CMAKE_COMMAND} -E copy "${DATA_SRC} /monsterdata_test.mon" "${DATA_DST} "
1842 COMMAND flatcc_cli -av --json -o "${GEN_DIR} " "${FBS_DIR} /monster_test.fbs"
19- DEPENDS flatcc_cli "${FBS_DIR} /monster_test.fbs" "${FBS_DIR} /include_test1.fbs" "${FBS_DIR} /include_test2.fbs"
43+ DEPENDS flatcc_cli "${FBS_FS} "
44+ COMMENT "Generate json_test fbs headers"
2045)
2146
22- add_executable (test_basic_parse test_basic_parse.c)
23- add_executable (test_json_parser test_json_parser.c)
24- add_executable (test_json_printer test_json_printer.c)
25- add_executable (test_json test_json.c)
26-
27- add_dependencies (test_basic_parse gen_monster_test_json)
28- add_dependencies (test_json_parser gen_monster_test_json)
29- add_dependencies (test_json_printer gen_monster_test_json)
30- add_dependencies (test_json gen_monster_test_json)
47+ add_executable (test_basic_parse test_basic_parse.c ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS} )
48+ add_executable (test_json_parser test_json_parser.c ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS} )
49+ add_executable (test_json_printer test_json_printer.c ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS} )
50+ add_executable (test_json test_json.c ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS} )
3151
3252target_link_libraries (test_basic_parse flatccrt)
3353target_link_libraries (test_json_parser flatccrt)
@@ -51,8 +71,7 @@ set(RTSRC
5171)
5272
5373macro (jstest trg flags )
54- add_executable (${trg} test_json.c ${RTSRC} )
55- add_dependencies (${trg} gen_monster_test_json)
74+ add_executable (${trg} test_json.c ${RTSRC} ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS} )
5675 add_test (${trg} ${trg}${CMAKE_EXECUTABLE_SUFFIX} )
5776 set_target_properties (${trg} PROPERTIES COMPILE_FLAGS ${flags} )
5877endmacro ()
0 commit comments