Mercurial > hg > freeDiameter
annotate extensions/dict_json/CMakeLists.txt @ 1455:75b6ec7c70b3
fix build for jsoncpp consumers
Correctly use the variables created by PKG_CHECK_MODULES(JSONCPP ...)
author | Luke Mewburn <luke@mewburn.net> |
---|---|
date | Fri, 28 Feb 2020 10:08:37 +1100 |
parents | 6e4737d332e7 |
children |
rev | line source |
---|---|
1333 | 1 # The dict_json extension |
2 PROJECT("JSON dictionary files support" C) | |
3 | |
4 INCLUDE(FindPkgConfig) | |
5 | |
6 # We use JSONCPP and JSON-Schema to parse and validate JSON files | |
7 PKG_CHECK_MODULES(JSONCPP REQUIRED jsoncpp) | |
1386 | 8 # https://github.com/nfotex/json-schema/ |
1333 | 9 PKG_CHECK_MODULES(JSON_SCHEMA REQUIRED json-schema) |
1355
70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
Thomas Klausner <tk@giga.or.at>
parents:
1333
diff
changeset
|
10 PKG_CHECK_MODULES(PCRECPP REQUIRED libpcrecpp) |
1333 | 11 |
12 # List of source files | |
13 SET(DICT_JSON_SRC | |
14 dict_json.cc | |
1355
70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
Thomas Klausner <tk@giga.or.at>
parents:
1333
diff
changeset
|
15 ${CMAKE_CURRENT_BINARY_DIR}/dict_json_dict_schema.cc |
1333 | 16 ) |
17 | |
18 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) | |
1455
75b6ec7c70b3
fix build for jsoncpp consumers
Luke Mewburn <luke@mewburn.net>
parents:
1386
diff
changeset
|
19 INCLUDE_DIRECTORIES(${JSONCPP_INCLUDE_DIRS}) |
1333 | 20 INCLUDE_DIRECTORIES(${JSON_SCHEMA_INCLUDE_DIR}) |
21 | |
22 LINK_DIRECTORIES(${JSONCPP_LIBDIR}) | |
23 LINK_DIRECTORIES(${JSON_SCHEMA_LIBDIR}) | |
24 | |
25 # Compile these files as a freeDiameter extension | |
26 FD_ADD_EXTENSION(dict_json ${DICT_JSON_SRC}) | |
27 | |
28 TARGET_LINK_LIBRARIES(dict_json ${JSONCPP_LIBRARIES} ${JSON_SCHEMA_STATIC_LIBRARIES}) | |
29 | |
30 ADD_EXECUTABLE(dict-json-diff dict-json-diff.cc) | |
31 TARGET_LINK_LIBRARIES(dict-json-diff ${JSONCPP_LIBRARIES} ${JSON_SCHEMA_STATIC_LIBRARIES}) | |
32 | |
1355
70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
Thomas Klausner <tk@giga.or.at>
parents:
1333
diff
changeset
|
33 ADD_EXECUTABLE(json-schema-to-c json-schema-to-c.cc) |
70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
Thomas Klausner <tk@giga.or.at>
parents:
1333
diff
changeset
|
34 TARGET_LINK_LIBRARIES(json-schema-to-c ${JSONCPP_LIBRARIES} ${JSON_SCHEMA_STATIC_LIBRARIES} ${PCRECPP_LIBRARIES}) |
70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
Thomas Klausner <tk@giga.or.at>
parents:
1333
diff
changeset
|
35 |
70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
Thomas Klausner <tk@giga.or.at>
parents:
1333
diff
changeset
|
36 ADD_CUSTOM_COMMAND( |
70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
Thomas Klausner <tk@giga.or.at>
parents:
1333
diff
changeset
|
37 OUTPUT dict_json_dict_schema.cc |
70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
Thomas Klausner <tk@giga.or.at>
parents:
1333
diff
changeset
|
38 COMMAND json-schema-to-c ${CMAKE_CURRENT_SOURCE_DIR}/dict_json_dict_schema.json ${CMAKE_CURRENT_BINARY_DIR}/dict_json_dict_schema.cc |
70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
Thomas Klausner <tk@giga.or.at>
parents:
1333
diff
changeset
|
39 DEPENDS dict_json_dict_schema.json |
70b6067f4552
Add tool to generate dict_json_dict_schema.cc from dict_json_dict_schema.json.
Thomas Klausner <tk@giga.or.at>
parents:
1333
diff
changeset
|
40 ) |
1333 | 41 |
42 #### | |
43 ## INSTALL section ## | |
44 | |
45 INSTALL(TARGETS dict_json | |
46 LIBRARY DESTINATION ${INSTALL_EXTENSIONS_SUFFIX} | |
47 COMPONENT freeDiameter-dictionary-json) | |
48 INSTALL(TARGETS dict-json-diff | |
49 RUNTIME DESTINATION ${INSTALL_DAEMON_SUFFIX} | |
50 COMPONENT freeDiameter-dictionary-json) |