1 find_package(PkgConfig QUIET)
3 pkg_search_module(JSONCPP jsoncpp QUIET)
5 # Get the libraries full paths, to be consistent with find_library().
7 foreach (libname IN LISTS JSONCPP_LIBRARIES)
8 find_library(jsoncpp_lib${libname} NAMES ${libname}
9 HINTS ${JSONCPP_LIBDIR} ${JSONCPP_LIBRARY_DIRS}
11 if (jsoncpp_lib${libname})
12 list(APPEND fulllibs ${jsoncpp_lib${libname}})
14 list(APPEND fulllibs ${libname})
17 set(JSONCPP_LIBRARIES ${fulllibs})
19 set(JSONCPP_DEFINITIONS ${JSONCPP_CFLAGS})
21 set(JSONCPP_DEFINITIONS)
23 find_path(JSONCPP_INCLUDE_DIR json/json.h
24 PATHS ENV JSONCPP_INCLUDE ENV JSONCPP_DIR
28 find_path(JSONCPP_INCLUDE_DIR json/json.h
31 mark_as_advanced(JSONCPP_INCLUDE_DIR)
32 set(JSONCPP_INCLUDE_DIRS "${JSONCPP_INCLUDE_DIR}")
34 find_library(JSONCPP_LIBRARY NAMES jsoncpp
35 HINTS ENV JSONCPP_LIB ENV JSONCPP_DIR
38 find_library(JSONCPP_LIBRARY NAMES jsoncpp)
39 mark_as_advanced(JSONCPP_LIBRARY)
40 set(JSON_LIBRARIES ${JSON_LIBRARY})
43 include(FindPackageHandleStandardArgs)
44 find_package_handle_standard_args(Jsoncpp DEFAULT_MSG JSONCPP_INCLUDE_DIRS JSONCPP_LIBRARIES JSONCPP_DEFINITIONS)
47 add_library(jsoncpp INTERFACE IMPORTED)
48 foreach (incl IN LISTS JSONCPP_INCLUDE_DIRS)
49 set_property(TARGET jsoncpp APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${incl})
51 foreach (libname IN LISTS JSONCPP_LIBRARIES)
52 set_property(TARGET jsoncpp APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${libname})
54 foreach (opt IN LISTS JSONCPP_DEFINITIONS)
55 set_property(TARGET jsoncpp APPEND PROPERTY INTERFACE_COMPILE_OPTIONS ${opt})