mirror of https://github.com/eclipse/paho.mqtt.c
Merge branch 'develop' of github.com:eclipse/paho.mqtt.c into develop
This commit is contained in:
commit
db5a2c216b
|
|
@ -33,7 +33,6 @@ SET(CLIENT_VERSION ${PAHO_VERSION_MAJOR}.${PAHO_VERSION_MINOR}.${PAHO_VERSION_PA
|
|||
|
||||
ENABLE_LANGUAGE(CXX)
|
||||
INCLUDE(GNUInstallDirs)
|
||||
INCLUDE(GenerateExportHeader)
|
||||
|
||||
STRING(TIMESTAMP BUILD_TIMESTAMP UTC)
|
||||
MESSAGE(STATUS "Timestamp is ${BUILD_TIMESTAMP}")
|
||||
|
|
@ -46,13 +45,18 @@ ENDIF()
|
|||
|
||||
## build options
|
||||
SET(PAHO_WITH_SSL FALSE CACHE BOOL "Flag that defines whether to build ssl-enabled binaries too. ")
|
||||
SET(PAHO_BUILD_STATIC FALSE CACHE BOOL "Build as a static library")
|
||||
SET(PAHO_BUILD_SHARED TRUE CACHE BOOL "Build shared library")
|
||||
SET(PAHO_BUILD_STATIC FALSE CACHE BOOL "Build static library")
|
||||
SET(PAHO_BUILD_DOCUMENTATION FALSE CACHE BOOL "Create and install the HTML based API documentation (requires Doxygen)")
|
||||
SET(PAHO_BUILD_SAMPLES FALSE CACHE BOOL "Build sample programs")
|
||||
SET(PAHO_BUILD_DEB_PACKAGE FALSE CACHE BOOL "Build debian package")
|
||||
SET(PAHO_ENABLE_TESTING TRUE CACHE BOOL "Build tests and run")
|
||||
SET(PAHO_ENABLE_CPACK TRUE CACHE BOOL "Enable CPack")
|
||||
|
||||
IF (NOT PAHO_BUILD_SHARED AND NOT PAHO_BUILD_STATIC)
|
||||
MESSAGE(FATAL_ERROR "YOu must set either PAHO_BUILD_SHARED, PAHO_BUILD_STATIC, or both")
|
||||
ENDIF()
|
||||
|
||||
IF(PAHO_BUILD_DEB_PACKAGE)
|
||||
set(CMAKE_INSTALL_DOCDIR share/doc/libpaho-mqtt)
|
||||
ENDIF()
|
||||
|
|
@ -67,27 +71,27 @@ IF(PAHO_BUILD_DOCUMENTATION)
|
|||
ENDIF()
|
||||
|
||||
IF (PAHO_ENABLE_CPACK)
|
||||
### packaging settings
|
||||
FILE(GLOB samples "src/samples/*.c")
|
||||
INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR}/samples)
|
||||
### packaging settings
|
||||
FILE(GLOB samples "src/samples/*.c")
|
||||
INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR}/samples)
|
||||
|
||||
SET(CPACK_PACKAGE_VENDOR "Eclipse Paho")
|
||||
SET(CPACK_PACKAGE_NAME "Eclipse-Paho-MQTT-C")
|
||||
INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
SET(CPACK_PACKAGE_VENDOR "Eclipse Paho")
|
||||
SET(CPACK_PACKAGE_NAME "Eclipse-Paho-MQTT-C")
|
||||
INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
|
||||
IF (WIN32)
|
||||
SET(CPACK_GENERATOR "ZIP")
|
||||
ELSEIF(PAHO_BUILD_DEB_PACKAGE)
|
||||
INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
IF (WIN32)
|
||||
SET(CPACK_GENERATOR "ZIP")
|
||||
ELSEIF(PAHO_BUILD_DEB_PACKAGE)
|
||||
INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
|
||||
SET(CPACK_GENERATOR "DEB")
|
||||
CONFIGURE_FILE(${CMAKE_SCRIPTS}/CPackDebConfig.cmake.in
|
||||
${CMAKE_BINARY_DIR}/CPackDebConfig.cmake @ONLY)
|
||||
SET(CPACK_PROJECT_CONFIG_FILE ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake)
|
||||
ADD_SUBDIRECTORY(debian)
|
||||
ELSE()
|
||||
SET(CPACK_GENERATOR "TGZ")
|
||||
ENDIF()
|
||||
SET(CPACK_GENERATOR "DEB")
|
||||
CONFIGURE_FILE(${CMAKE_SCRIPTS}/CPackDebConfig.cmake.in
|
||||
${CMAKE_BINARY_DIR}/CPackDebConfig.cmake @ONLY)
|
||||
SET(CPACK_PROJECT_CONFIG_FILE ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake)
|
||||
ADD_SUBDIRECTORY(debian)
|
||||
ELSE()
|
||||
SET(CPACK_GENERATOR "TGZ")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
FILE(GLOB samples "src/samples/*.c")
|
||||
INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
|
|
@ -100,7 +104,7 @@ INCLUDE(CPack)
|
|||
|
||||
IF(PAHO_ENABLE_TESTING)
|
||||
ENABLE_TESTING()
|
||||
INCLUDE_DIRECTORIES(test ${CMAKE_BINARY_DIR} src)
|
||||
INCLUDE_DIRECTORIES(test src)
|
||||
ADD_SUBDIRECTORY(test)
|
||||
ELSE()
|
||||
INCLUDE_DIRECTORIES(src)
|
||||
|
|
|
|||
|
|
@ -89,6 +89,7 @@ Before compiling, determine the value of some variables in order to configure fe
|
|||
|
||||
Variable | Default Value | Description
|
||||
------------ | ------------- | -------------
|
||||
PAHO_BUILD_SHARED | TRUE | Build a shared version of the libraries
|
||||
PAHO_BUILD_STATIC | FALSE | Build a static version of the libraries
|
||||
PAHO_WITH_SSL | FALSE | Flag that defines whether to build ssl-enabled binaries too.
|
||||
OPENSSL_SEARCH_PATH | "" (system default) | Directory containing your OpenSSL installation (i.e. `/usr/local` when headers are in `/usr/local/include` and libraries are in `/usr/local/lib`)
|
||||
|
|
|
|||
|
|
@ -70,81 +70,98 @@ ADD_LIBRARY(common_obj OBJECT ${common_src})
|
|||
SET_TARGET_PROPERTIES(common_obj PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
COMPILE_DEFINITIONS "MQTT_EXPORTS=1")
|
||||
TARGET_INCLUDE_DIRECTORIES(common_obj
|
||||
PRIVATE ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(MQTTVersion MQTTVersion.c)
|
||||
TARGET_INCLUDE_DIRECTORIES(MQTTVersion
|
||||
PRIVATE ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
IF (PAHO_BUILD_STATIC)
|
||||
ADD_LIBRARY(paho-mqtt3c STATIC $<TARGET_OBJECTS:common_obj> MQTTClient.c)
|
||||
ADD_LIBRARY(paho-mqtt3a STATIC $<TARGET_OBJECTS:common_obj> MQTTAsync.c)
|
||||
ELSE()
|
||||
IF (PAHO_BUILD_SHARED)
|
||||
ADD_LIBRARY(paho-mqtt3c SHARED $<TARGET_OBJECTS:common_obj> MQTTClient.c)
|
||||
ADD_LIBRARY(paho-mqtt3a SHARED $<TARGET_OBJECTS:common_obj> MQTTAsync.c)
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3c ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3a ${LIBS_SYSTEM})
|
||||
|
||||
TARGET_LINK_LIBRARIES(MQTTVersion paho-mqtt3a paho-mqtt3c ${LIBS_SYSTEM})
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3c paho-mqtt3a PROPERTIES
|
||||
VERSION ${CLIENT_VERSION}
|
||||
SOVERSION ${PAHO_VERSION_MAJOR}
|
||||
DEFINE_SYMBOL "MQTT_EXPORTS")
|
||||
FOREACH(TARGET paho-mqtt3c paho-mqtt3a)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
ENDFOREACH()
|
||||
|
||||
INSTALL(TARGETS paho-mqtt3c paho-mqtt3a
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
INSTALL(TARGETS MQTTVersion
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
ENDIF()
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3c ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3a ${LIBS_SYSTEM})
|
||||
IF (PAHO_BUILD_STATIC)
|
||||
ADD_LIBRARY(paho-mqtt3c-static STATIC $<TARGET_OBJECTS:common_obj> MQTTClient.c)
|
||||
ADD_LIBRARY(paho-mqtt3a-static STATIC $<TARGET_OBJECTS:common_obj> MQTTAsync.c)
|
||||
|
||||
TARGET_LINK_LIBRARIES(MQTTVersion paho-mqtt3a paho-mqtt3c ${LIBS_SYSTEM})
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3c paho-mqtt3a PROPERTIES
|
||||
VERSION ${CLIENT_VERSION}
|
||||
SOVERSION ${PAHO_VERSION_MAJOR}
|
||||
DEFINE_SYMBOL "MQTT_EXPORTS")
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3c-static ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3a-static ${LIBS_SYSTEM})
|
||||
IF (NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(paho-mqtt3c-static PROPERTIES OUTPUT_NAME paho-mqtt3c)
|
||||
SET_TARGET_PROPERTIES(paho-mqtt3a-static PROPERTIES OUTPUT_NAME paho-mqtt3a)
|
||||
ENDIF()
|
||||
|
||||
GENERATE_EXPORT_HEADER(paho-mqtt3a
|
||||
BASE_NAME LIBMQTT
|
||||
EXPORT_MACRO_NAME LIBMQTT_API
|
||||
EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/ExportDeclarations.h
|
||||
)
|
||||
FOREACH(TARGET paho-mqtt3c-static paho-mqtt3a-static)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
ENDFOREACH()
|
||||
|
||||
FOREACH(TARGET paho-mqtt3c paho-mqtt3a)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
ENDFOREACH()
|
||||
IF (NOT PAHO_BUILD_SHARED)
|
||||
TARGET_LINK_LIBRARIES(MQTTVersion paho-mqtt3a-static paho-mqtt3c-static ${LIBS_SYSTEM})
|
||||
INSTALL(TARGETS paho-mqtt3c-static paho-mqtt3a-static
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
ELSE()
|
||||
INSTALL(TARGETS paho-mqtt3c-static paho-mqtt3a-static
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
INSTALL(TARGETS paho-mqtt3c paho-mqtt3a
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
INSTALL(TARGETS MQTTVersion
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h MQTTReasonCodes.h MQTTSubscribeOpts.h ${CMAKE_BINARY_DIR}/ExportDeclarations.h
|
||||
INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h MQTTReasonCodes.h MQTTSubscribeOpts.h ExportDeclarations.h
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
|
||||
IF (PAHO_WITH_SSL)
|
||||
SET(OPENSSL_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries and includes")
|
||||
|
||||
IF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
IF(OPENSSL_SEARCH_PATH STREQUAL "")
|
||||
SET(OPENSSL_SEARCH_PATH "/usr/local/opt/openssl")
|
||||
ENDIF ()
|
||||
IF(OPENSSL_SEARCH_PATH STREQUAL "")
|
||||
SET(OPENSSL_SEARCH_PATH "/usr/local/opt/openssl")
|
||||
ENDIF ()
|
||||
ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
|
||||
IF (WIN32)
|
||||
IF(OPENSSL_SEARCH_PATH STREQUAL "")
|
||||
SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64")
|
||||
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64")
|
||||
IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT})
|
||||
IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86")
|
||||
SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32")
|
||||
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib32")
|
||||
ENDIF ()
|
||||
IF(OPENSSL_SEARCH_PATH STREQUAL "")
|
||||
SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64")
|
||||
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64")
|
||||
IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT})
|
||||
IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86")
|
||||
SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32")
|
||||
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib32")
|
||||
ENDIF ()
|
||||
ENDIF ()
|
||||
ENDIF ()
|
||||
ENDIF ()
|
||||
ELSE()
|
||||
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64")
|
||||
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64")
|
||||
ENDIF ()
|
||||
|
||||
FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h
|
||||
|
|
@ -166,41 +183,72 @@ IF (PAHO_WITH_SSL)
|
|||
## common compilation for libpaho-mqtt3cs and libpaho-mqtt3as
|
||||
## Note: SSL libraries must be recompiled due ifdefs
|
||||
ADD_LIBRARY(common_ssl_obj OBJECT ${common_src})
|
||||
SET_PROPERTY(TARGET common_ssl_obj PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
SET_PROPERTY(TARGET common_ssl_obj PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
SET_PROPERTY(TARGET common_ssl_obj PROPERTY COMPILE_DEFINITIONS "OPENSSL=1;MQTT_EXPORTS=1")
|
||||
TARGET_INCLUDE_DIRECTORIES(common_ssl_obj
|
||||
PRIVATE ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
IF (PAHO_BUILD_STATIC)
|
||||
ADD_LIBRARY(paho-mqtt3cs STATIC $<TARGET_OBJECTS:common_ssl_obj> MQTTClient.c SSLSocket.c)
|
||||
ADD_LIBRARY(paho-mqtt3as STATIC $<TARGET_OBJECTS:common_ssl_obj> MQTTAsync.c SSLSocket.c)
|
||||
ELSE()
|
||||
IF (PAHO_BUILD_SHARED)
|
||||
ADD_LIBRARY(paho-mqtt3cs SHARED $<TARGET_OBJECTS:common_ssl_obj> MQTTClient.c SSLSocket.c)
|
||||
ADD_LIBRARY(paho-mqtt3as SHARED $<TARGET_OBJECTS:common_ssl_obj> MQTTAsync.c SSLSocket.c)
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3cs ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3as ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM})
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs paho-mqtt3as PROPERTIES
|
||||
VERSION ${CLIENT_VERSION}
|
||||
SOVERSION ${PAHO_VERSION_MAJOR}
|
||||
COMPILE_DEFINITIONS "OPENSSL=1"
|
||||
DEFINE_SYMBOL "MQTT_EXPORTS")
|
||||
FOREACH(TARGET paho-mqtt3cs paho-mqtt3as)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
ENDFOREACH()
|
||||
INSTALL(TARGETS paho-mqtt3cs paho-mqtt3as
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
ENDIF()
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3cs ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3as ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM})
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs paho-mqtt3as PROPERTIES
|
||||
VERSION ${CLIENT_VERSION}
|
||||
SOVERSION ${PAHO_VERSION_MAJOR}
|
||||
COMPILE_DEFINITIONS "OPENSSL=1"
|
||||
DEFINE_SYMBOL "MQTT_EXPORTS")
|
||||
FOREACH(TARGET paho-mqtt3cs paho-mqtt3as)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
ENDFOREACH()
|
||||
INSTALL(TARGETS paho-mqtt3cs paho-mqtt3as
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
IF (PAHO_BUILD_STATIC)
|
||||
ADD_LIBRARY(paho-mqtt3cs-static STATIC $<TARGET_OBJECTS:common_ssl_obj> MQTTClient.c SSLSocket.c)
|
||||
ADD_LIBRARY(paho-mqtt3as-static STATIC $<TARGET_OBJECTS:common_ssl_obj> MQTTAsync.c SSLSocket.c)
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3cs-static ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3as-static ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM})
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs-static paho-mqtt3as-static PROPERTIES
|
||||
VERSION ${CLIENT_VERSION}
|
||||
SOVERSION ${PAHO_VERSION_MAJOR}
|
||||
COMPILE_DEFINITIONS "OPENSSL=1"
|
||||
LINK_FLAGS "MQTT_EXPORTS")
|
||||
IF (NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(paho-mqtt3cs-static PROPERTIES OUTPUT_NAME paho-mqtt3cs)
|
||||
SET_TARGET_PROPERTIES(paho-mqtt3as-static PROPERTIES OUTPUT_NAME paho-mqtt3as)
|
||||
ENDIF()
|
||||
|
||||
IF (NOT PAHO_BUILD_SHARED)
|
||||
INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
ELSE()
|
||||
INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
ENDIF()
|
||||
FOREACH(TARGET paho-mqtt3cs-static paho-mqtt3as-static)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
INSTALL(EXPORT eclipse-paho-mqtt-cTargets
|
||||
|
|
@ -220,16 +268,16 @@ INSTALL(FILES
|
|||
ADD_EXECUTABLE( Base64Test EXCLUDE_FROM_ALL Base64.c Base64.h )
|
||||
TARGET_COMPILE_DEFINITIONS( Base64Test PUBLIC "-DBASE64_TEST" )
|
||||
IF (PAHO_WITH_SSL)
|
||||
ADD_EXECUTABLE( Base64TestOpenSSL EXCLUDE_FROM_ALL Base64.c Base64.h )
|
||||
TARGET_LINK_LIBRARIES( Base64TestOpenSSL ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} )
|
||||
TARGET_COMPILE_DEFINITIONS( Base64TestOpenSSL PUBLIC "-DBASE64_TEST -DOPENSSL=1" )
|
||||
ADD_EXECUTABLE( Base64TestOpenSSL EXCLUDE_FROM_ALL Base64.c Base64.h )
|
||||
TARGET_LINK_LIBRARIES( Base64TestOpenSSL ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} )
|
||||
TARGET_COMPILE_DEFINITIONS( Base64TestOpenSSL PUBLIC "-DBASE64_TEST -DOPENSSL=1" )
|
||||
ENDIF (PAHO_WITH_SSL)
|
||||
|
||||
# SHA1 test
|
||||
ADD_EXECUTABLE( Sha1Test EXCLUDE_FROM_ALL SHA1.c SHA1.h )
|
||||
TARGET_COMPILE_DEFINITIONS( Sha1Test PUBLIC "-DSHA1_TEST" )
|
||||
IF (PAHO_WITH_SSL)
|
||||
ADD_EXECUTABLE( Sha1TestOpenSSL EXCLUDE_FROM_ALL SHA1.c SHA1.h )
|
||||
TARGET_LINK_LIBRARIES( Sha1TestOpenSSL ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} )
|
||||
TARGET_COMPILE_DEFINITIONS( Sha1TestOpenSSL PUBLIC "-DSHA1_TEST -DOPENSSL=1" )
|
||||
ADD_EXECUTABLE( Sha1TestOpenSSL EXCLUDE_FROM_ALL SHA1.c SHA1.h )
|
||||
TARGET_LINK_LIBRARIES( Sha1TestOpenSSL ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} )
|
||||
TARGET_COMPILE_DEFINITIONS( Sha1TestOpenSSL PUBLIC "-DSHA1_TEST -DOPENSSL=1" )
|
||||
ENDIF (PAHO_WITH_SSL)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2020, 2020 Andreas Walter
|
||||
*
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* and Eclipse Distribution License v1.0 which accompany this distribution.
|
||||
*
|
||||
* The Eclipse Public License is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
* and the Eclipse Distribution License is available at
|
||||
* http://www.eclipse.org/org/documents/edl-v10.php.
|
||||
*
|
||||
* Contributors:
|
||||
* Andreas Walter - initially moved export declarations into separate fle
|
||||
*******************************************************************************/
|
||||
|
||||
#if !defined(EXPORTDECLARATIONS_H)
|
||||
#define EXPORTDECLARATIONS_H
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
# if defined(MQTT_EXPORTS)
|
||||
# define LIBMQTT_API __declspec(dllexport)
|
||||
# elif defined(MQTT_DIRECT)
|
||||
# define LIBMQTT_API
|
||||
# else
|
||||
# define LIBMQTT_API __declspec(dllimport)
|
||||
# endif
|
||||
#else
|
||||
# if defined(MQTT_EXPORTS)
|
||||
# define LIBMQTT_API __attribute__ ((visibility ("default")))
|
||||
# else
|
||||
# define LIBMQTT_API extern
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -29,6 +29,8 @@ IF (WIN32)
|
|||
ENDIF()
|
||||
|
||||
# sample files c
|
||||
|
||||
IF (PAHO_BUILD_SHARED)
|
||||
ADD_EXECUTABLE(paho_c_pub paho_c_pub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_c_sub paho_c_sub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_cs_pub paho_cs_pub.c pubsub_opts.c)
|
||||
|
|
@ -63,3 +65,18 @@ INSTALL(TARGETS paho_c_sub
|
|||
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
ENDIF()
|
||||
|
||||
IF (PAHO_BUILD_STATIC)
|
||||
ADD_EXECUTABLE(paho_c_pub_static paho_c_pub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_c_sub_static paho_c_sub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_cs_pub_static paho_cs_pub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_cs_sub_static paho_cs_sub.c pubsub_opts.c)
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho_c_pub_static paho-mqtt3as-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB})
|
||||
TARGET_LINK_LIBRARIES(paho_c_sub_static paho-mqtt3as-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB})
|
||||
TARGET_LINK_LIBRARIES(paho_cs_pub_static paho-mqtt3cs-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB})
|
||||
TARGET_LINK_LIBRARIES(paho_cs_sub_static paho-mqtt3cs-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB})
|
||||
|
||||
ENDIF()
|
||||
|
||||
|
|
|
|||
2581
test/CMakeLists.txt
2581
test/CMakeLists.txt
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue