From fcf5d8af65f41d6a106ad08d1df5de9729f5399a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Petr=20=C5=A0tetiar?= Date: Sat, 5 Mar 2016 14:59:33 +0100 Subject: [PATCH] cmake: Add ubox, blobmsg_json libraries and include dirs lookup MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Otherwise cmake uses files from system which sometimes isn't wanted, ie. for testing. Signed-off-by: Petr Å tetiar --- CMakeLists.txt | 17 ++++++++++++++--- examples/CMakeLists.txt | 4 ++-- 2 files changed, 16 insertions(+), 5 deletions(-) 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() -- 2.25.1