22# but we need to know the MHD location for static linking.
33find_package (MHD REQUIRED)
44
5+ get_property (jsoncpp_include_dir TARGET jsoncpp_lib_static PROPERTY INTERFACE_INCLUDE_DIRECTORIES )
6+ get_property (jsoncpp_library TARGET jsoncpp_lib_static PROPERTY IMPORTED_LOCATION_RELEASE )
7+
58set (CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
69 -DCMAKE_BUILD_TYPE=Release
710 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
@@ -18,17 +21,17 @@ set(CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
1821 -DCOMPILE_STUBGEN=Off
1922 -DCOMPILE_EXAMPLES=Off
2023 # Point to jsoncpp library.
21- -DJSONCPP_INCLUDE_DIR=${JSONCPP_INCLUDE_DIR }
24+ -DJSONCPP_INCLUDE_DIR=${jsoncpp_include_dir }
2225 # Select jsoncpp include prefix: <json/...> or <jsoncpp/json/...>
2326 -DJSONCPP_INCLUDE_PREFIX=json
24- -DJSONCPP_LIBRARY=${JSONCPP_LIBRARY }
27+ -DJSONCPP_LIBRARY=${jsoncpp_library }
2528 -DMHD_INCLUDE_DIR=${MHD_INCLUDE_DIR}
2629 -DMHD_LIBRARY=${MHD_LIBRARY} )
2730
2831if (WIN32 )
2932 # For Windows we have to provide also locations for debug libraries.
3033 set (CMAKE_ARGS ${CMAKE_ARGS}
31- -DJSONCPP_LIBRARY_DEBUG=${JSONCPP_LIBRARY }
34+ -DJSONCPP_LIBRARY_DEBUG=${jsoncpp_library }
3235 -DMHD_LIBRARY_DEBUG=${MHD_LIBRARY} )
3336endif ()
3437
@@ -48,8 +51,6 @@ ExternalProject_Add(jsonrpccpp
4851 LOG_INSTALL 1
4952)
5053
51- add_dependencies (jsonrpccpp jsoncpp)
52-
5354# Create imported libraries
5455if (WIN32 )
5556 # On Windows CMAKE_INSTALL_PREFIX is ignored and installs to dist dir.
@@ -64,8 +65,8 @@ file(MAKE_DIRECTORY ${JSONRPCCPP_INCLUDE_DIR}) # Must exist.
6465add_library (JsonRpcCpp::Common STATIC IMPORTED )
6566set_property (TARGET JsonRpcCpp::Common PROPERTY IMPORTED_CONFIGURATIONS Release)
6667set_property (TARGET JsonRpcCpp::Common PROPERTY IMPORTED_LOCATION_RELEASE ${INSTALL_DIR} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} jsonrpccpp-common${CMAKE_STATIC_LIBRARY_SUFFIX} )
67- set_property (TARGET JsonRpcCpp::Common PROPERTY INTERFACE_LINK_LIBRARIES JsonCpp )
68- set_property (TARGET JsonRpcCpp::Common PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${JSONRPCCPP_INCLUDE_DIR} ${JSONCPP_INCLUDE_DIR } )
68+ set_property (TARGET JsonRpcCpp::Common PROPERTY INTERFACE_LINK_LIBRARIES jsoncpp_lib_static )
69+ set_property (TARGET JsonRpcCpp::Common PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${JSONRPCCPP_INCLUDE_DIR} ${jsoncpp_include_dir } )
6970add_dependencies (JsonRpcCpp::Common jsonrpccpp)
7071
7172add_library (JsonRpcCpp::Server STATIC IMPORTED )
0 commit comments