Mercurial > hg > freeDiameter
diff extensions/dict_json/CMakeLists.txt @ 1355:70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
author | Thomas Klausner <tk@giga.or.at> |
---|---|
date | Sat, 18 May 2019 11:06:01 +0200 |
parents | cbe1da7a32f1 |
children | 6e4737d332e7 |
line wrap: on
line diff
--- a/extensions/dict_json/CMakeLists.txt Fri May 17 12:59:19 2019 +0200 +++ b/extensions/dict_json/CMakeLists.txt Sat May 18 11:06:01 2019 +0200 @@ -6,11 +6,12 @@ # We use JSONCPP and JSON-Schema to parse and validate JSON files PKG_CHECK_MODULES(JSONCPP REQUIRED jsoncpp) PKG_CHECK_MODULES(JSON_SCHEMA REQUIRED json-schema) +PKG_CHECK_MODULES(PCRECPP REQUIRED libpcrecpp) # List of source files SET(DICT_JSON_SRC dict_json.cc - dict_json_dict_schema.cc + ${CMAKE_CURRENT_BINARY_DIR}/dict_json_dict_schema.cc ) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) @@ -28,6 +29,14 @@ ADD_EXECUTABLE(dict-json-diff dict-json-diff.cc) TARGET_LINK_LIBRARIES(dict-json-diff ${JSONCPP_LIBRARIES} ${JSON_SCHEMA_STATIC_LIBRARIES}) +ADD_EXECUTABLE(json-schema-to-c json-schema-to-c.cc) +TARGET_LINK_LIBRARIES(json-schema-to-c ${JSONCPP_LIBRARIES} ${JSON_SCHEMA_STATIC_LIBRARIES} ${PCRECPP_LIBRARIES}) + +ADD_CUSTOM_COMMAND( + OUTPUT dict_json_dict_schema.cc + COMMAND json-schema-to-c ${CMAKE_CURRENT_SOURCE_DIR}/dict_json_dict_schema.json ${CMAKE_CURRENT_BINARY_DIR}/dict_json_dict_schema.cc + DEPENDS dict_json_dict_schema.json +) #### ## INSTALL section ## @@ -38,6 +47,3 @@ INSTALL(TARGETS dict-json-diff RUNTIME DESTINATION ${INSTALL_DAEMON_SUFFIX} COMPONENT freeDiameter-dictionary-json) - -# dict_json_dict_schema.cc is created from dict_json_dict_schema.json -# the tool for that is not yet open source, but the conversion is straightforward