@ -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
" $ { O P E N S S L _ I N C L U D E _ D I R } "
" $ { S T D B O O L _ H _ P A T H } "
@ -12,25 +8,29 @@ set(CLIENT_INC
" $ { m o s q u i t t o _ S O U R C E _ D I R } / i n c l u d e "
)
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 ( )
if ( WITH_WEBSOCKETS AND WITH_WEBSOCKETS_BUILTIN )
add_definitions ( "-DWITH_WEBSOCKETS=WS_IS_BUILTIN" )
target_compile_definitions( client-common INTERFACE "-DWITH_WEBSOCKETS=WS_IS_BUILTIN" )
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 } )
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}" )