From: Petr Štetiar Date: Sat, 5 Mar 2016 13:59:33 +0000 (+0100) Subject: cmake: Add ubox, blobmsg_json libraries and include dirs lookup X-Git-Url: http://git.openwrt.org/?p=project%2Fubus.git;a=commitdiff_plain;h=fcf5d8af65f41d6a106ad08d1df5de9729f5399a;ds=sidebyside cmake: Add ubox, blobmsg_json libraries and include dirs lookup Otherwise cmake uses files from system which sometimes isn't wanted, ie. for testing. Signed-off-by: Petr Å tetiar --- diff --git a/CMakeLists.txt b/CMakeLists.txt index b1fdd5b..e21a046 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,16 +19,27 @@ IF(APPLE) LINK_DIRECTORIES(/opt/local/lib) ENDIF() +IF(BUILD_STATIC) + FIND_LIBRARY(ubox_library NAMES ubox.a) + FIND_LIBRARY(blob_library NAMES blobmsg_json.a) +ELSE(BUILD_STATIC) + FIND_LIBRARY(ubox_library NAMES ubox) + FIND_LIBRARY(blob_library NAMES blobmsg_json) +ENDIF(BUILD_STATIC) + +FIND_PATH(ubox_include_dir libubox/usock.h) +INCLUDE_DIRECTORIES(${ubox_include_dir}) + ADD_LIBRARY(ubus SHARED libubus.c libubus-io.c libubus-obj.c libubus-sub.c libubus-req.c libubus-acl.c) -TARGET_LINK_LIBRARIES(ubus ubox) +TARGET_LINK_LIBRARIES(ubus ${ubox_library}) ADD_EXECUTABLE(ubusd ubusd.c ubusd_id.c ubusd_obj.c ubusd_proto.c ubusd_event.c ubusd_acl.c ubusd_monitor.c) -TARGET_LINK_LIBRARIES(ubusd ubox blobmsg_json ${json}) +TARGET_LINK_LIBRARIES(ubusd ${ubox_library} ${blob_library} ${json}) find_library(json NAMES json-c json) ADD_EXECUTABLE(cli cli.c) SET_TARGET_PROPERTIES(cli PROPERTIES OUTPUT_NAME ubus) -TARGET_LINK_LIBRARIES(cli ubus ubox blobmsg_json ${json}) +TARGET_LINK_LIBRARIES(cli ubus ${ubox_library} ${blob_library} ${json}) ADD_SUBDIRECTORY(lua) ADD_SUBDIRECTORY(examples) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 0279f6e..006dac4 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -5,8 +5,8 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/..) IF (BUILD_EXAMPLES) ADD_EXECUTABLE(server server.c count.c) - TARGET_LINK_LIBRARIES(server ubus ubox blobmsg_json) + TARGET_LINK_LIBRARIES(server ubus ${ubox_library} ${blob_library}) ADD_EXECUTABLE(client client.c count.c) - TARGET_LINK_LIBRARIES(client ubus ubox) + TARGET_LINK_LIBRARIES(client ubus ${ubox_library}) ENDIF()