@@ -9,25 +9,42 @@ 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+
1334add_custom_command (
14- TARGET gen_monster_test_json
35+ OUTPUT ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS}
1536 COMMAND ${CMAKE_COMMAND} -E make_directory "${GEN_DIR} "
1637 COMMAND ${CMAKE_COMMAND} -E copy "${DATA_SRC} /monsterdata_test.golden" "${DATA_DST} "
1738 COMMAND ${CMAKE_COMMAND} -E copy "${DATA_SRC} /monsterdata_test.mon" "${DATA_DST} "
1839 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"
40+ DEPENDS flatcc_cli "${FBS_FS} "
41+ COMMENT "Generate json_test fbs headers"
2042)
2143
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)
44+ add_executable (test_basic_parse test_basic_parse.c ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS} )
45+ add_executable (test_json_parser test_json_parser.c ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS} )
46+ add_executable (test_json_printer test_json_printer.c ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS} )
47+ add_executable (test_json test_json.c ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS} )
3148
3249target_link_libraries (test_basic_parse flatccrt)
3350target_link_libraries (test_json_parser flatccrt)
@@ -51,8 +68,7 @@ set(RTSRC
5168)
5269
5370macro (jstest trg flags )
54- add_executable (${trg} test_json.c ${RTSRC} )
55- add_dependencies (${trg} gen_monster_test_json)
71+ add_executable (${trg} test_json.c ${RTSRC} ${FBS_B_HS} ${FBS_R_HS} ${FBS_V_HS} ${FBS_JPR_HS} ${FBS_JPA_HS} )
5672 add_test (${trg} ${trg}${CMAKE_EXECUTABLE_SUFFIX} )
5773 set_target_properties (${trg} PROPERTIES COMPILE_FLAGS ${flags} )
5874endmacro ()
0 commit comments