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(lib NAMES ${libname}
9 HINTS ${JSONCPP_LIBDIR} ${JSONCPP_LIBRARY_DIRS}
13 list(APPEND fulllibs ${lib})
15 list(APPEND fulllibs ${libname})
18 set(JSONCPP_LIBRARIES ${fulllibs})
20 set(JSONCPP_DEFINITIONS ${JSONCPP_CFLAGS})
22 set(JSONCPP_DEFINITIONS)
24 find_path(JSONCPP_INCLUDE_DIR json/json.h
25 PATHS ENV JSONCPP_INCLUDE ENV JSONCPP_DIR
29 find_path(JSONCPP_INCLUDE_DIR json/json.h
32 mark_as_advanced(JSONCPP_INCLUDE_DIR)
33 set(JSONCPP_INCLUDE_DIRS "${JSONCPP_INCLUDE_DIR}")
35 find_library(JSONCPP_LIBRARY NAMES jsoncpp
36 HINTS ENV JSONCPP_LIB ENV JSONCPP_DIR
39 find_library(JSONCPP_LIBRARY NAMES jsoncpp)
40 mark_as_advanced(JSONCPP_LIBRARY)
41 set(JSON_LIBRARIES ${JSON_LIBRARY})
44 include(FindPackageHandleStandardArgs)
45 find_package_handle_standard_args(Jsoncpp DEFAULT_MSG JSONCPP_INCLUDE_DIRS JSONCPP_LIBRARIES JSONCPP_DEFINITIONS)
48 add_library(jsoncpp INTERFACE IMPORTED)
49 foreach (incl IN LISTS JSONCPP_INCLUDE_DIRS)
50 set_property(TARGET jsoncpp APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${incl})
52 foreach (libname IN LISTS JSONCPP_LIBRARIES)
53 set_property(TARGET jsoncpp APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${lib})
55 foreach (opt IN LISTS JSONCPP_DEFINITIONS)
56 set_property(TARGET jsoncpp APPEND PROPERTY INTERFACE_COMPILE_OPTIONS ${opt})