fix up cmake lokimq target

pull/1351/head
Jeff 4 years ago
parent 78b40d6725
commit 686b13b2f3

@ -78,6 +78,7 @@ include(cmake/target_link_libraries_system.cmake)
include(cmake/add_import_library.cmake)
include(cmake/add_log_tag.cmake)
include(cmake/libatomic.cmake)
include(cmake/link_dep_libs.cmake)
if (STATIC_LINK)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
@ -148,10 +149,14 @@ endif()
option(FORCE_LOKIMQ_SUBMODULE "force using lokimq submodule" OFF)
if(NOT FORCE_LOKIMQ_SUBMODULE)
find_package(LokiMQ 1.2)
endif()
if(LokiMQ_FOUND)
message(STATUS "using system lokimq")
pkg_check_modules(LOKIMQ liblokimq>=1.2)
endif()
if(LOKIMQ_FOUND)
add_library(lokimq INTERFACE)
link_dep_libs(lokimq INTERFACE "${LOKIMQ_LIBRARY_DIRS}" ${LOKIMQ_LIBRARIES})
target_include_directories(lokimq INTERFACE ${LOKIMQ_INCLUDE_DIRS})
add_library(lokimq::lokimq ALIAS lokimq)
message(STATUS "Found system liblokimq ${LOKIMQ_VERSION}")
else()
message(STATUS "using lokimq submodule")
add_subdirectory(${CMAKE_SOURCE_DIR}/external/loki-mq)

@ -1,21 +0,0 @@
find_package(PkgConfig)
if (PKG_CONFIG_FOUND)
pkg_check_modules(PC_LOKIMQ QUIET liblokimq>=${LokiMQ_VERSION})
endif()
find_path(LOKIMQ_INCLUDE_DIR lokimq/lokimq.h
HINTS ${PC_LOKIMQ_INCLUDEDIR} ${PC_LOKIMQ_INCLUDE_DIRS})
find_library(LOKIMQ_LIBRARY NAMES lokimq
HINTS ${PC_LOKIMQ_LIBDIR} ${PC_LOKIMQ_LIBRARY_DIRS})
mark_as_advanced(LOKIMQ_INCLUDE_DIR LOKIMQ_LIBRARY)
set(LOKIMQ_LIBRARIES ${LOKIMQ_LIBRARY} ${PC_LOKIMQ_LIBRARIES})
set(LOKIMQ_INCLUDE_DIRS ${LOKIMQ_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LokiMQ DEFAULT_MSG
LOKIMQ_LIBRARY LOKIMQ_INCLUDE_DIR)
mark_as_advanced(LOKIMQ_INCLUDE_DIR LOKIMQ_LIBRARY)

@ -0,0 +1,13 @@
# Properly links a target to a list of library names by finding the given libraries. Takes:
# - a target
# - a linktype (e.g. INTERFACE, PUBLIC, PRIVATE)
# - a library search path (or "" for defaults)
# - any number of library names
function(link_dep_libs target linktype libdirs)
foreach(lib ${ARGN})
find_library(link_lib-${lib} NAMES ${lib} PATHS ${libdirs})
if(link_lib-${lib})
target_link_libraries(${target} ${linktype} ${link_lib-${lib}})
endif()
endforeach()
endfunction()
Loading…
Cancel
Save