Fix missing symbols MacOS

Core symbols needed by plugins are now properly linked to their objects

 * Remove link_directories() call:

This specification is not necessary for our own libraries as cmake
shares this information over the targets.

If needed they should be specified target specific, like done for
the external DLT library.

Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
pull/2530/head
Kai Buschulte 3 years ago committed by =
parent 0e9df05d0d
commit 7e4746aac4

@ -79,10 +79,8 @@ endif()
option(WITH_DLT "Include DLT support?" OFF)
message(STATUS "WITH_DLT = ${WITH_DLT}")
if(WITH_DLT)
#find_package(DLT REQUIRED)
find_package(PkgConfig)
pkg_check_modules(DLT "automotive-dlt >= 2.11")
add_definitions("-DWITH_DLT")
pkg_check_modules(DLT "automotive-dlt >= 2.11" REQUIRED)
endif()
option(WITH_CJSON "Build with cJSON support (required for dynamic security plugin and useful for mosquitto_sub)?" ON)

@ -101,18 +101,18 @@ if(WITH_WEBSOCKETS AND WITH_WEBSOCKETS_BUILTIN)
"${mosquitto_SOURCE_DIR}/deps/picohttpparser")
endif()
target_include_directories(libmosquitto PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/include"
"${mosquitto_SOURCE_DIR}/lib"
target_include_directories(libmosquitto
PUBLIC
"${mosquitto_SOURCE_DIR}/include"
"${OPENSSL_INCLUDE_DIR}"
PRIVATE
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/lib"
)
link_directories("${mosquitto_SOURCE_DIR}/lib")
if(WITH_BUNDLED_DEPS)
target_include_directories(libmosquitto PRIVATE
"${mosquitto_SOURCE_DIR}/deps"

@ -8,16 +8,16 @@ set_target_properties(mosquittopp PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
target_include_directories(mosquittopp PRIVATE
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}/include"
"${mosquitto_SOURCE_DIR}/lib"
"${mosquitto_SOURCE_DIR}/lib/cpp"
target_include_directories(mosquittopp
PUBLIC
"${mosquitto_SOURCE_DIR}/include"
PRIVATE
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}/lib"
"${mosquitto_SOURCE_DIR}/lib/cpp"
)
link_directories(${mosquitto_BINARY_DIR}/lib)
target_link_libraries(mosquittopp PRIVATE libmosquitto)
if (WITH_THREADING AND NOT WIN32)

@ -47,7 +47,6 @@ if(CJSON_FOUND AND WITH_TLS)
"${mosquitto_SOURCE_DIR}/deps"
)
endif()
link_directories(${CLIENT_DIR} "${mosquitto_SOURCE_DIR}")
set_target_properties(mosquitto_dynamic_security PROPERTIES
PREFIX ""
@ -59,8 +58,8 @@ if(CJSON_FOUND AND WITH_TLS)
cJSON
OpenSSL::SSL
)
target_link_libraries(mosquitto_dynamic_security PRIVATE mosquitto)
if(WIN32)
target_link_libraries(mosquitto_dynamic_security PRIVATE mosquitto)
install(TARGETS mosquitto_dynamic_security
DESTINATION "${CMAKE_INSTALL_BINDIR}")
else()

@ -16,9 +16,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -16,9 +16,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -5,7 +5,6 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
@ -13,15 +12,12 @@ target_include_directories(${PLUGIN_NAME} PRIVATE
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -11,16 +11,12 @@ target_include_directories(${PLUGIN_NAME} PRIVATE
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -16,9 +16,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -22,9 +22,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -12,15 +12,12 @@ target_include_directories(${PLUGIN_NAME} PRIVATE
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -5,7 +5,6 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
@ -17,9 +16,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -5,22 +5,18 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -5,22 +5,18 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -5,22 +5,18 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -5,22 +5,18 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -5,22 +5,18 @@ add_library(${PLUGIN_NAME} MODULE
)
target_include_directories(${PLUGIN_NAME} PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/include"
)
link_directories(${mosquitto_SOURCE_DIR})
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -23,9 +23,7 @@ set_target_properties(${PLUGIN_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE 1
)
if(WIN32)
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
endif()
target_link_libraries(${PLUGIN_NAME} PRIVATE mosquitto)
# Don't install, these are example plugins only.
#install(TARGETS ${PLUGIN_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")

@ -26,7 +26,6 @@ if(SQLITE3_FOUND AND CJSON_FOUND)
target_include_directories(mosquitto_persist_sqlite PRIVATE
${CLIENT_INC} ${SQLITE3_INCLUDE_DIR}
)
link_directories(${CLIENT_DIR} "${mosquitto_SOURCE_DIR}")
set_target_properties(mosquitto_persist_sqlite PROPERTIES
PREFIX ""
@ -38,9 +37,7 @@ if(SQLITE3_FOUND AND CJSON_FOUND)
${SQLITE3_LIBRARIES}
cJSON
)
if(WIN32)
target_link_libraries(mosquitto_persist_sqlite PRIVATE mosquitto)
endif()
target_link_libraries(mosquitto_persist_sqlite PRIVATE mosquitto)
install(TARGETS mosquitto_persist_sqlite
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"

@ -148,12 +148,6 @@ endif()
add_definitions (-DWITH_BROKER)
if(WITH_DLT)
message(STATUS "DLT_LIBDIR = ${DLT_LIBDIR}")
link_directories(${DLT_LIBDIR})
set (MOSQ_LIBS ${MOSQ_LIBS} ${DLT_LIBRARIES})
endif()
set (MOSQ_LIBS ${MOSQ_LIBS} ${OPENSSL_LIBRARIES})
# Check for getaddrinfo_a
include(CheckLibraryExists)
@ -210,7 +204,6 @@ if(WITH_WEBSOCKETS)
set (MOSQ_LIBS ${MOSQ_LIBS} websockets_static)
if(WIN32)
set (MOSQ_LIBS ${MOSQ_LIBS} iphlpapi)
link_directories(${mosquitto_SOURCE_DIR})
endif()
else(STATIC_WEBSOCKETS)
set (MOSQ_LIBS ${MOSQ_LIBS} websockets)
@ -218,19 +211,28 @@ if(WITH_WEBSOCKETS)
endif()
endif()
if(WITH_DLT)
message(STATUS "DLT_LIBDIR = ${DLT_LIBDIR}")
target_link_directories(mosquitto PRIVATE ${DLT_LIBDIR})
set (MOSQ_LIBS ${MOSQ_LIBS} ${DLT_LIBRARIES})
target_compile_definitions(mosquitto PRIVATE "WITH_DLT")
endif()
if(CJSON_FOUND)
target_link_libraries(mosquitto PRIVATE cJSON)
endif()
target_include_directories(mosquitto PRIVATE
"${OPENSSL_INCLUDE_DIR}"
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/include"
"${mosquitto_SOURCE_DIR}/lib"
"${mosquitto_SOURCE_DIR}/src"
target_include_directories(mosquitto
PUBLIC
"${mosquitto_SOURCE_DIR}/include"
"${OPENSSL_INCLUDE_DIR}"
PRIVATE
"${STDBOOL_H_PATH}"
"${STDINT_H_PATH}"
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/lib"
"${mosquitto_SOURCE_DIR}/src"
)
if(WITH_BUNDLED_DEPS)
target_include_directories(mosquitto PRIVATE
@ -250,11 +252,9 @@ if (WITH_THREADING AND NOT WIN32)
target_link_libraries(mosquitto PRIVATE Threads::Threads)
endif()
if(WIN32)
set_target_properties(mosquitto PROPERTIES
ENABLE_EXPORTS 1
)
endif()
set_target_properties(mosquitto PROPERTIES
ENABLE_EXPORTS 1
)
if(UNIX)
if(APPLE)

Loading…
Cancel
Save