mirror of
https://github.com/eclipse-mosquitto/mosquitto.git
synced 2026-09-22 16:15:05 +08:00
Merge branch 'buschulte-add-common-options-target-to-enable-compiler-warnings' into develop
This commit is contained in:
+3
-1
@@ -26,6 +26,9 @@ if(APPLE)
|
||||
set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -undefined dynamic_lookup")
|
||||
endif()
|
||||
|
||||
add_library(common-options INTERFACE)
|
||||
target_compile_options(common-options INTERFACE -Wall -Wextra -Wconversion)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CheckIncludeFiles)
|
||||
|
||||
@@ -88,7 +91,6 @@ option(WITH_CJSON "Build with cJSON support (required for dynamic security plugi
|
||||
if(WITH_CJSON)
|
||||
FIND_PACKAGE(cJSON)
|
||||
if(CJSON_FOUND)
|
||||
message(STATUS ${CJSON_FOUND})
|
||||
target_compile_definitions(cJSON INTERFACE WITH_CJSON)
|
||||
else()
|
||||
message(STATUS "Optional dependency cJSON not found. Some features will be disabled.")
|
||||
|
||||
@@ -56,6 +56,7 @@ if(WITH_TLS AND CJSON_FOUND)
|
||||
|
||||
target_link_libraries(mosquitto_ctrl
|
||||
PRIVATE
|
||||
common-options
|
||||
OpenSSL::SSL
|
||||
cJSON
|
||||
)
|
||||
|
||||
@@ -714,7 +714,7 @@ int client_connect(struct mosquitto *mosq, struct mosq_config *cfg)
|
||||
/* Convert %25 -> %, %3a, %3A -> :, %40 -> @ */
|
||||
static int mosquitto__urldecode(char *str)
|
||||
{
|
||||
int i, j;
|
||||
size_t i, j;
|
||||
size_t len;
|
||||
if(!str) return 0;
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ if(WITH_TLS)
|
||||
|
||||
target_link_libraries(mosquitto_passwd
|
||||
PRIVATE
|
||||
common-options
|
||||
OpenSSL::SSL
|
||||
)
|
||||
|
||||
|
||||
+23
-27
@@ -1,9 +1,5 @@
|
||||
set(shared_src client_shared.c client_shared.h client_props.c)
|
||||
|
||||
if(WITH_SRV)
|
||||
add_definitions("-DWITH_SRV")
|
||||
endif()
|
||||
|
||||
set(CLIENT_INC
|
||||
"${OPENSSL_INCLUDE_DIR}"
|
||||
"${STDBOOL_H_PATH}"
|
||||
@@ -12,25 +8,29 @@ set(CLIENT_INC
|
||||
"${mosquitto_SOURCE_DIR}/include"
|
||||
)
|
||||
|
||||
if(WITH_WEBSOCKETS AND WITH_WEBSOCKETS_BUILTIN)
|
||||
add_definitions("-DWITH_WEBSOCKETS=WS_IS_BUILTIN")
|
||||
add_library(client-common INTERFACE)
|
||||
target_link_libraries(client-common INTERFACE common-options)
|
||||
target_include_directories(client-common INTERFACE ${CLIENT_INC})
|
||||
target_sources(client-common INTERFACE ${shared_src})
|
||||
|
||||
if(WITH_SRV)
|
||||
target_compile_definitions(client-common INTERFACE "-DWITH_SRV")
|
||||
endif()
|
||||
|
||||
add_executable(mosquitto_pub pub_client.c pub_shared.c ${shared_src})
|
||||
add_executable(mosquitto_sub sub_client.c sub_client_output.c ${shared_src})
|
||||
add_executable(mosquitto_rr rr_client.c pub_shared.c sub_client_output.c ${shared_src})
|
||||
if(WITH_WEBSOCKETS AND WITH_WEBSOCKETS_BUILTIN)
|
||||
target_compile_definitions(client-common INTERFACE "-DWITH_WEBSOCKETS=WS_IS_BUILTIN")
|
||||
endif()
|
||||
|
||||
add_executable(mosquitto_pub pub_client.c pub_shared.c)
|
||||
add_executable(mosquitto_sub sub_client.c sub_client_output.c)
|
||||
add_executable(mosquitto_rr rr_client.c pub_shared.c sub_client_output.c)
|
||||
|
||||
target_include_directories(mosquitto_pub PRIVATE ${CLIENT_INC})
|
||||
target_include_directories(mosquitto_sub PRIVATE ${CLIENT_INC})
|
||||
target_include_directories(mosquitto_rr PRIVATE ${CLIENT_INC})
|
||||
|
||||
if (WITH_THREADING AND NOT WIN32)
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
target_link_libraries(mosquitto_pub PRIVATE Threads::Threads)
|
||||
target_link_libraries(mosquitto_sub PRIVATE Threads::Threads)
|
||||
target_link_libraries(mosquitto_rr PRIVATE Threads::Threads)
|
||||
target_link_libraries(client-common INTERFACE Threads::Threads)
|
||||
endif()
|
||||
|
||||
if(WITH_BUNDLED_DEPS)
|
||||
@@ -39,27 +39,23 @@ if(WITH_BUNDLED_DEPS)
|
||||
endif()
|
||||
|
||||
if(CJSON_FOUND)
|
||||
target_link_libraries(mosquitto_pub PRIVATE cJSON)
|
||||
target_link_libraries(mosquitto_sub PRIVATE cJSON)
|
||||
target_link_libraries(mosquitto_rr PRIVATE cJSON)
|
||||
target_link_libraries(client-common INTERFACE cJSON)
|
||||
endif()
|
||||
|
||||
if(WITH_STATIC_LIBRARIES)
|
||||
target_link_libraries(mosquitto_pub PRIVATE libmosquitto_static)
|
||||
target_link_libraries(mosquitto_sub PRIVATE libmosquitto_static)
|
||||
target_link_libraries(mosquitto_rr PRIVATE libmosquitto_static)
|
||||
target_link_libraries(client-common INTERFACE libmosquitto_static)
|
||||
else()
|
||||
target_link_libraries(mosquitto_pub PRIVATE libmosquitto)
|
||||
target_link_libraries(mosquitto_sub PRIVATE libmosquitto)
|
||||
target_link_libraries(mosquitto_rr PRIVATE libmosquitto)
|
||||
target_link_libraries(client-common INTERFACE libmosquitto)
|
||||
endif()
|
||||
|
||||
if(QNX)
|
||||
target_link_libraries(mosquitto_pub PRIVATE socket)
|
||||
target_link_libraries(mosquitto_sub PRIVATE socket)
|
||||
target_link_libraries(mosquitto_rr PRIVATE socket)
|
||||
target_link_libraries(client-common INTERFACE socket)
|
||||
endif()
|
||||
|
||||
target_link_libraries(mosquitto_pub PRIVATE client-common)
|
||||
target_link_libraries(mosquitto_sub PRIVATE client-common)
|
||||
target_link_libraries(mosquitto_rr PRIVATE client-common)
|
||||
|
||||
install(TARGETS mosquitto_pub RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
install(TARGETS mosquitto_sub RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
install(TARGETS mosquitto_rr RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
|
||||
+3
-1
@@ -58,8 +58,10 @@ if (WITH_THREADING AND WIN32)
|
||||
list(APPEND C_SRC "../common/winthread_mosq.c" "../common/winthread_mosq.h")
|
||||
endif()
|
||||
|
||||
set(LIBRARIES common-options)
|
||||
|
||||
if(WITH_TLS)
|
||||
set (LIBRARIES OpenSSL::SSL)
|
||||
set (LIBRARIES ${LIBRARIES} OpenSSL::SSL)
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT APPLE AND NOT ANDROID)
|
||||
|
||||
@@ -18,7 +18,7 @@ target_include_directories(mosquittopp
|
||||
"${mosquitto_SOURCE_DIR}/lib/cpp"
|
||||
)
|
||||
|
||||
target_link_libraries(mosquittopp PRIVATE libmosquitto)
|
||||
target_link_libraries(mosquittopp PRIVATE libmosquitto common-options)
|
||||
|
||||
if (WITH_THREADING AND NOT WIN32)
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
|
||||
@@ -55,6 +55,7 @@ if(CJSON_FOUND AND WITH_TLS)
|
||||
|
||||
target_link_libraries(mosquitto_dynamic_security
|
||||
PRIVATE
|
||||
common-options
|
||||
cJSON
|
||||
OpenSSL::SSL
|
||||
)
|
||||
|
||||
@@ -30,6 +30,7 @@ if(SQLITE3_FOUND AND CJSON_FOUND)
|
||||
|
||||
target_link_libraries(mosquitto_persist_sqlite
|
||||
PRIVATE
|
||||
common-options
|
||||
SQLite::SQLite3
|
||||
cJSON
|
||||
)
|
||||
|
||||
+2
-1
@@ -243,7 +243,8 @@ endif()
|
||||
target_link_libraries(mosquitto
|
||||
PUBLIC
|
||||
config-header
|
||||
PRIVATE
|
||||
PRIVATE
|
||||
common-options
|
||||
${MOSQ_LIBS}
|
||||
)
|
||||
|
||||
|
||||
@@ -107,6 +107,8 @@ int mux__handle(struct mosquitto__listener_sock *listensock, int listensock_coun
|
||||
UNUSED(listensock_count);
|
||||
return mux_epoll__handle();
|
||||
#elif defined(WITH_KQUEUE)
|
||||
UNUSED(listensock);
|
||||
UNUSED(listensock_count);
|
||||
return mux_kqueue__handle();
|
||||
#else
|
||||
return mux_poll__handle(listensock, listensock_count);
|
||||
|
||||
@@ -43,5 +43,5 @@ foreach(BINARY ${BINARIES})
|
||||
set_property(TARGET ${BINARY}
|
||||
PROPERTY SUFFIX .test
|
||||
)
|
||||
target_link_libraries(${BINARY} PRIVATE libmosquitto)
|
||||
target_link_libraries(${BINARY} PRIVATE common-options libmosquitto)
|
||||
endforeach()
|
||||
|
||||
@@ -61,5 +61,5 @@ foreach(BINARY ${BINARIES})
|
||||
target_compile_definitions(${BINARY} PRIVATE TEST_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
target_include_directories(${BINARY} PRIVATE ${CMAKE_SOURCE_DIR}/test)
|
||||
set_property(TARGET ${BINARY} PROPERTY SUFFIX .test)
|
||||
target_link_libraries(${BINARY} PRIVATE libmosquitto)
|
||||
target_link_libraries(${BINARY} PRIVATE common-options libmosquitto)
|
||||
endforeach()
|
||||
|
||||
@@ -10,7 +10,12 @@ target_include_directories(common-unit-test-header
|
||||
"${mosquitto_SOURCE_DIR}/src"
|
||||
"${mosquitto_SOURCE_DIR}/test"
|
||||
)
|
||||
target_link_libraries(common-unit-test-header INTERFACE config-header CUnit::CUnit)
|
||||
target_link_libraries(common-unit-test-header
|
||||
INTERFACE
|
||||
common-options
|
||||
config-header
|
||||
CUnit::CUnit
|
||||
)
|
||||
|
||||
# unit-broker
|
||||
add_executable(broker-test
|
||||
|
||||
Reference in New Issue
Block a user