cmake: Simplify WITH_BUNDLED_DEPS handling

This commit is contained in:
Roger A. Light 2026-02-13 12:50:22 +00:00
parent 43c2715042
commit d2435fc685
9 changed files with 14 additions and 46 deletions

View file

@ -135,20 +135,27 @@ option(WITH_APPS "Build apps?" ON)
option(WITH_PLUGINS "Build plugins?" ON)
option(WITH_DOCS "Build documentation?" ON)
add_library(config-header INTERFACE)
target_sources(config-header INTERFACE config.h)
target_include_directories(config-header
target_sources(common-options INTERFACE config.h)
target_include_directories(common-options
INTERFACE
${mosquitto_SOURCE_DIR}
${mosquitto_SOURCE_DIR}/include
)
if(WITH_TLS)
target_include_directories(config-header
target_include_directories(common-options
INTERFACE
"${OPENSSL_INCLUDE_DIR}"
)
endif()
if(WITH_BUNDLED_DEPS)
target_include_directories(common-options
INTERFACE
"${mosquitto_SOURCE_DIR}/deps"
)
endif()
add_subdirectory(libcommon)
add_subdirectory(lib)

View file

@ -22,9 +22,7 @@ target_compile_definitions(mosquitto_db_dump PRIVATE
)
target_include_directories(mosquitto_db_dump PRIVATE
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/include"
"${mosquitto_SOURCE_DIR}/lib"
"${mosquitto_SOURCE_DIR}/libcommon"
"${mosquitto_SOURCE_DIR}/src"
@ -32,21 +30,15 @@ target_include_directories(mosquitto_db_dump PRIVATE
"${CJSON_INCLUDE_DIRS}"
)
if(WITH_BUNDLED_DEPS)
target_include_directories(mosquitto_db_dump PRIVATE
"${mosquitto_SOURCE_DIR}/deps"
)
endif()
if(WITH_TLS)
target_link_libraries(mosquitto_db_dump PRIVATE config-header OpenSSL::SSL)
target_link_libraries(mosquitto_db_dump PRIVATE OpenSSL::SSL)
endif()
if(WIN32)
target_link_libraries(mosquitto_db_dump PRIVATE ws2_32)
endif()
target_link_libraries(mosquitto_db_dump PRIVATE libmosquitto_common)
target_link_libraries(mosquitto_db_dump PRIVATE common-options libmosquitto_common)
install(TARGETS mosquitto_db_dump
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"

View file

@ -54,7 +54,6 @@ if(WITH_TLS)
add_executable(mosquitto_ctrl ${SRC})
target_include_directories(mosquitto_ctrl PRIVATE
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/apps/mosquitto_passwd"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/plugins/common"
@ -62,11 +61,6 @@ if(WITH_TLS)
"${ARGON2_INCLUDE_DIRS}"
"${CJSON_INCLUDE_DIRS}"
)
if(WITH_BUNDLED_DEPS)
target_include_directories(mosquitto_ctrl PRIVATE
"${mosquitto_SOURCE_DIR}/deps"
)
endif()
if(WITH_CTRL_SHELL AND LINEEDITING_FOUND)
target_compile_definitions(mosquitto_ctrl PRIVATE WITH_CTRL_SHELL)

View file

@ -5,7 +5,6 @@ target_link_libraries(client-common INTERFACE common-options)
target_include_directories(client-common INTERFACE
"${CJSON_INCLUDE_DIRS}"
"${OPENSSL_INCLUDE_DIR}"
"${mosquitto_SOURCE_DIR}"
)
target_sources(client-common INTERFACE ${shared_src})
@ -34,11 +33,6 @@ if (WITH_THREADING AND NOT WIN32)
target_link_libraries(client-common INTERFACE Threads::Threads)
endif()
if(WITH_BUNDLED_DEPS)
target_include_directories(mosquitto_sub PRIVATE "${mosquitto_SOURCE_DIR}/deps")
target_include_directories(mosquitto_rr PRIVATE "${mosquitto_SOURCE_DIR}/deps")
endif()
if(CJSON_FOUND)
target_link_libraries(client-common INTERFACE cJSON)
endif()

View file

@ -95,18 +95,11 @@ target_include_directories(libmosquitto
"${mosquitto_SOURCE_DIR}/include"
"${mosquitto_SOURCE_DIR}/lib"
PRIVATE
"${mosquitto_SOURCE_DIR}"
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/libcommon"
"${OPENSSL_INCLUDE_DIR}" # Required for cross compilation
)
if(WITH_BUNDLED_DEPS)
target_include_directories(libmosquitto PRIVATE
"${mosquitto_SOURCE_DIR}/deps"
)
endif()
if(WITH_THREADING)
if(WIN32)
set (LIBRARIES ${LIBRARIES} PThreads4W::PThreads4W)

View file

@ -37,14 +37,12 @@ endif()
target_include_directories(libmosquitto_common
PUBLIC
"${mosquitto_SOURCE_DIR}/"
"${mosquitto_SOURCE_DIR}/include"
"${CJSON_INCLUDE_DIRS}"
)
target_link_libraries(libmosquitto_common
PUBLIC
config-header
common-options
cJSON
)

View file

@ -6,9 +6,6 @@ function(add_mosquitto_plugin_no_install PLUGIN_NAME SRCLIST INCLIST LINKLIST)
"${mosquitto_SOURCE_DIR}/common"
"${mosquitto_SOURCE_DIR}/include"
)
if(WITH_BUNDLED_DEPS)
target_include_directories(${PLUGIN_NAME} PRIVATE "${mosquitto_SOURCE_DIR}/deps")
endif()
set_target_properties(${PLUGIN_NAME} PROPERTIES
PREFIX ""

View file

@ -277,15 +277,9 @@ target_include_directories(mosquitto
"${mosquitto_SOURCE_DIR}/src"
"${CJSON_INCLUDE_DIRS}"
)
if(WITH_BUNDLED_DEPS)
target_include_directories(mosquitto PRIVATE
"${mosquitto_SOURCE_DIR}/deps"
)
endif()
target_link_libraries(mosquitto
PUBLIC
config-header
libmosquitto_common
PRIVATE
common-options

View file

@ -13,7 +13,6 @@ target_include_directories(common-unit-test-header
target_link_libraries(common-unit-test-header
INTERFACE
common-options
config-header
CUnit::CUnit
)