From 784141b456c9934284fce72aebfd65d085c9469a Mon Sep 17 00:00:00 2001 From: bowb <6180319+bowb@users.noreply.github.com> Date: Mon, 4 Jan 2021 17:44:42 -0700 Subject: [PATCH 1/2] Update to paho-mqtt-c 1.3.8. Add -static to static compile libs. --- recipes/paho-mqtt-c/all/conandata.yml | 8 + recipes/paho-mqtt-c/all/conanfile.py | 2 +- ...5-fix-cmake-install-static-for-1.3.8.patch | 538 ++++++++++++++++++ recipes/paho-mqtt-c/config.yml | 2 + 4 files changed, 549 insertions(+), 1 deletion(-) create mode 100644 recipes/paho-mqtt-c/all/patches/0005-fix-cmake-install-static-for-1.3.8.patch diff --git a/recipes/paho-mqtt-c/all/conandata.yml b/recipes/paho-mqtt-c/all/conandata.yml index af94a553a129f..e524267d1fe9b 100644 --- a/recipes/paho-mqtt-c/all/conandata.yml +++ b/recipes/paho-mqtt-c/all/conandata.yml @@ -14,6 +14,9 @@ sources: "1.3.6": sha256: ecbc2c2000c6d8dcf1a76325312c61ed29db0b010acbd40cb92fcd4c014cd017 url: https://github.com/eclipse/paho.mqtt.c/archive/v1.3.6.tar.gz + "1.3.8": + sha256: 4920ff685344cdb0272568bc4414dcf48fcdfc4a98c78b1f3ca49c38417bf391 + url: https://github.com/eclipse/paho.mqtt.c/archive/v1.3.8.tar.gz patches: "1.3.0": - patch_file: "patches/0001-fix-MinGW-and-OSX-builds-for-1-3-0.patch" @@ -40,3 +43,8 @@ patches: base_path: "source_subfolder" - patch_file: "patches/0004-fix-cmake-install.patch" base_path: "source_subfolder" + "1.3.8": + - patch_file: "patches/0002-fix-MinGW-and-OSX-builds-for-1-3-5.patch" + base_path: "source_subfolder" + - patch_file: "patches/0005-fix-cmake-install-static-for-1.3.8.patch" + base_path: "source_subfolder" diff --git a/recipes/paho-mqtt-c/all/conanfile.py b/recipes/paho-mqtt-c/all/conanfile.py index e1e47e006e894..f48a087c56710 100644 --- a/recipes/paho-mqtt-c/all/conanfile.py +++ b/recipes/paho-mqtt-c/all/conanfile.py @@ -119,6 +119,6 @@ def _cmake_target(self): target += "a" if self.options.asynchronous else "c" if self.options.ssl: target += "s" - if not self.options.shared: + if self.settings.os != "Windows" and not self.options.shared: target += "-static" return target diff --git a/recipes/paho-mqtt-c/all/patches/0005-fix-cmake-install-static-for-1.3.8.patch b/recipes/paho-mqtt-c/all/patches/0005-fix-cmake-install-static-for-1.3.8.patch new file mode 100644 index 0000000000000..a410fe8336b68 --- /dev/null +++ b/recipes/paho-mqtt-c/all/patches/0005-fix-cmake-install-static-for-1.3.8.patch @@ -0,0 +1,538 @@ +diff --git a/src/MakeLists.txt b/src/CMakeLists.txt +index 4137d38..6617dab 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -83,10 +83,6 @@ ADD_LIBRARY(common_obj OBJECT ${common_src}) + SET_TARGET_PROPERTIES(common_obj PROPERTIES + POSITION_INDEPENDENT_CODE ON + COMPILE_DEFINITIONS "PAHO_MQTT_EXPORTS=1") +-ADD_EXECUTABLE(MQTTVersion MQTTVersion.c) +-SET_TARGET_PROPERTIES(MQTTVersion PROPERTIES +- POSITION_INDEPENDENT_CODE ON +- COMPILE_DEFINITIONS "PAHO_MQTT_IMPORTS=1") + ENDIF() + + IF (PAHO_BUILD_STATIC) +@@ -96,89 +92,153 @@ SET_TARGET_PROPERTIES(common_obj_static PROPERTIES + COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1") + ENDIF() + +-IF (PAHO_BUILD_SHARED) +- ADD_LIBRARY(paho-mqtt3c SHARED $ MQTTClient.c) +- ADD_LIBRARY(paho-mqtt3a SHARED $ MQTTAsync.c MQTTAsyncUtils.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} +- COMPILE_DEFINITIONS "PAHO_MQTT_EXPORTS=1") +- +- IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") +- SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init) +- SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init) +- ELSEIF (NOT WIN32) +- SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init) +- SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init) +- ENDIF() +- +- IF (NOT WIN32) +- SET_TARGET_PROPERTIES( +- paho-mqtt3c PROPERTIES +- LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}") +- SET_TARGET_PROPERTIES( +- paho-mqtt3a PROPERTIES +- LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}") ++IF (NOT PAHO_WITH_SSL) ++ IF (PAHO_BUILD_SHARED) ++ IF (PAHO_BUILD_ASYNC) ++ ADD_LIBRARY(paho-mqtt3a SHARED $ MQTTAsync.c MQTTAsyncUtils.c) ++ TARGET_LINK_LIBRARIES(paho-mqtt3a ${LIBS_SYSTEM}) ++ ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3a PROPERTIES ++ VERSION ${CLIENT_VERSION} ++ SOVERSION ${PAHO_VERSION_MAJOR} ++ COMPILE_DEFINITIONS "PAHO_MQTT_EXPORTS=1") ++ ++ IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") ++ SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init) ++ ELSEIF (NOT WIN32) ++ SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init) ++ ENDIF() ++ ++ IF (NOT WIN32) ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3a PROPERTIES ++ LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}") ++ ENDIF() ++ ++ FOREACH(TARGET paho-mqtt3a) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ ENDFOREACH() ++ ++ INSTALL(TARGETS paho-mqtt3a ++ EXPORT eclipse-paho-mqtt-cTargets ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ ++ ELSE() ++ ADD_LIBRARY(paho-mqtt3c SHARED $ MQTTClient.c) ++ TARGET_LINK_LIBRARIES(paho-mqtt3c ${LIBS_SYSTEM}) ++ ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3c PROPERTIES ++ VERSION ${CLIENT_VERSION} ++ SOVERSION ${PAHO_VERSION_MAJOR} ++ COMPILE_DEFINITIONS "PAHO_MQTT_EXPORTS=1") ++ ++ IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") ++ SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init) ++ ELSEIF (NOT WIN32) ++ SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init) ++ ENDIF() ++ ++ IF (NOT WIN32) ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3c PROPERTIES ++ LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}") ++ ENDIF() ++ ++ FOREACH(TARGET paho-mqtt3c) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ ENDFOREACH() ++ ++ INSTALL(TARGETS paho-mqtt3c ++ EXPORT eclipse-paho-mqtt-cTargets ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ ++ ENDIF() + ENDIF() + +- FOREACH(TARGET paho-mqtt3c paho-mqtt3a) +- TARGET_INCLUDE_DIRECTORIES(${TARGET} +- PUBLIC +- $ +- $ +- PRIVATE +- ${CMAKE_BINARY_DIR}) +- ENDFOREACH() ++ IF (PAHO_BUILD_STATIC) ++ IF (PAHO_BUILD_ASYNC) ++ ADD_LIBRARY(paho-mqtt3a-static STATIC $ MQTTAsync.c MQTTAsyncUtils.c) ++ TARGET_LINK_LIBRARIES(paho-mqtt3a-static ${LIBS_SYSTEM}) ++ ++ IF (NOT WIN32) ++ SET_TARGET_PROPERTIES(paho-mqtt3a-static PROPERTIES OUTPUT_NAME paho-mqtt3a-static) ++ ENDIF() ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3a-static PROPERTIES ++ VERSION ${CLIENT_VERSION} ++ SOVERSION ${PAHO_VERSION_MAJOR} ++ COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1") ++ ++ FOREACH(TARGET paho-mqtt3a-static) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ ENDFOREACH() ++ ++ IF (NOT PAHO_BUILD_SHARED) ++ INSTALL(TARGETS 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-mqtt3a-static ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ ENDIF() ++ ++ ELSE() ++ ADD_LIBRARY(paho-mqtt3c-static STATIC $ MQTTClient.c) ++ TARGET_LINK_LIBRARIES(paho-mqtt3c-static ${LIBS_SYSTEM}) + +- 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() +- +-IF (PAHO_BUILD_STATIC) +- ADD_LIBRARY(paho-mqtt3c-static STATIC $ MQTTClient.c) +- ADD_LIBRARY(paho-mqtt3a-static STATIC $ MQTTAsync.c MQTTAsyncUtils.c) +- +- 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() +- SET_TARGET_PROPERTIES( +- paho-mqtt3c-static paho-mqtt3a-static PROPERTIES +- VERSION ${CLIENT_VERSION} +- SOVERSION ${PAHO_VERSION_MAJOR} +- COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1") +- +- FOREACH(TARGET paho-mqtt3c-static paho-mqtt3a-static) +- TARGET_INCLUDE_DIRECTORIES(${TARGET} +- PUBLIC +- $ +- $ +- PRIVATE +- ${CMAKE_BINARY_DIR}) +- ENDFOREACH() +- +- IF (NOT PAHO_BUILD_SHARED) +- 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}) ++ IF (NOT WIN32) ++ SET_TARGET_PROPERTIES(paho-mqtt3c-static PROPERTIES OUTPUT_NAME paho-mqtt3c-static) ++ ENDIF() ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3c-static PROPERTIES ++ VERSION ${CLIENT_VERSION} ++ SOVERSION ${PAHO_VERSION_MAJOR} ++ COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1") ++ ++ FOREACH(TARGET paho-mqtt3c-static) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ ENDFOREACH() ++ ++ IF (NOT PAHO_BUILD_SHARED) ++ INSTALL(TARGETS paho-mqtt3c-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 ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ ENDIF() ++ ++ ENDIF() + ENDIF() + ENDIF() + +@@ -197,48 +257,80 @@ IF (PAHO_WITH_SSL) + SET_PROPERTY(TARGET common_ssl_obj PROPERTY POSITION_INDEPENDENT_CODE ON) + SET_PROPERTY(TARGET common_ssl_obj PROPERTY COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_EXPORTS=1") + +- ADD_LIBRARY(paho-mqtt3cs SHARED $ MQTTClient.c SSLSocket.c) +- ADD_LIBRARY(paho-mqtt3as SHARED $ MQTTAsync.c MQTTAsyncUtils.c SSLSocket.c) ++ IF (PAHO_BUILD_ASYNC) ++ ADD_LIBRARY(paho-mqtt3as SHARED $ MQTTAsync.c MQTTAsyncUtils.c SSLSocket.c) ++ ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3as PROPERTIES ++ VERSION ${CLIENT_VERSION} ++ SOVERSION ${PAHO_VERSION_MAJOR} ++ COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_EXPORTS=1") ++ IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") ++ SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init) ++ ELSEIF (NOT WIN32) ++ SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init) ++ ENDIF() ++ ++ IF (NOT WIN32) ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3as PROPERTIES ++ LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}") ++ ENDIF() + +- SET_TARGET_PROPERTIES( +- paho-mqtt3cs paho-mqtt3as PROPERTIES +- VERSION ${CLIENT_VERSION} +- SOVERSION ${PAHO_VERSION_MAJOR} +- COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_EXPORTS=1") +- +- IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") +- SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init) +- SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init) +- ELSEIF (NOT WIN32) +- SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init) +- SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init) +- ENDIF() +- +- IF (NOT WIN32) ++ FOREACH(TARGET paho-mqtt3as) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ TARGET_LINK_LIBRARIES(${TARGET} ++ PUBLIC ++ OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM}) ++ ENDFOREACH() ++ INSTALL(TARGETS paho-mqtt3as ++ EXPORT eclipse-paho-mqtt-cTargets ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ ELSE() ++ ADD_LIBRARY(paho-mqtt3cs SHARED $ MQTTClient.c SSLSocket.c) ++ + SET_TARGET_PROPERTIES( +- paho-mqtt3cs PROPERTIES +- LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}") +- SET_TARGET_PROPERTIES( +- paho-mqtt3as PROPERTIES +- LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}") ++ paho-mqtt3cs PROPERTIES ++ VERSION ${CLIENT_VERSION} ++ SOVERSION ${PAHO_VERSION_MAJOR} ++ COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_EXPORTS=1") ++ ++ IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") ++ SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init) ++ ELSEIF (NOT WIN32) ++ SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init) ++ ENDIF() ++ ++ IF (NOT WIN32) ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3cs PROPERTIES ++ LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}") ++ ENDIF() ++ ++ FOREACH(TARGET paho-mqtt3cs) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ TARGET_LINK_LIBRARIES(${TARGET} ++ PUBLIC ++ OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM}) ++ ENDFOREACH() ++ INSTALL(TARGETS paho-mqtt3cs ++ EXPORT eclipse-paho-mqtt-cTargets ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + ENDIF() +- +- FOREACH(TARGET paho-mqtt3cs paho-mqtt3as) +- TARGET_INCLUDE_DIRECTORIES(${TARGET} +- PUBLIC +- $ +- $ +- PRIVATE +- ${CMAKE_BINARY_DIR}) +- TARGET_LINK_LIBRARIES(${TARGET} +- PUBLIC +- OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM}) +- 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() + + IF (PAHO_BUILD_STATIC) +@@ -249,57 +341,97 @@ IF (PAHO_WITH_SSL) + SET_PROPERTY(TARGET common_ssl_obj_static PROPERTY POSITION_INDEPENDENT_CODE ON) + SET_PROPERTY(TARGET common_ssl_obj_static PROPERTY COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1") + +- ADD_LIBRARY(paho-mqtt3cs-static STATIC $ MQTTClient.c SSLSocket.c) +- ADD_LIBRARY(paho-mqtt3as-static STATIC $ MQTTAsync.c MQTTAsyncUtils.c SSLSocket.c) +- +- SET_TARGET_PROPERTIES( +- paho-mqtt3cs-static paho-mqtt3as-static PROPERTIES +- VERSION ${CLIENT_VERSION} +- SOVERSION ${PAHO_VERSION_MAJOR} +- COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1") +- 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(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") +- SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init) +- SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init) +- ELSEIF (NOT WIN32) +- SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init) +- SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init) +- ENDIF() +- +- IF (NOT WIN32) +- SET_TARGET_PROPERTIES( +- paho-mqtt3cs-static PROPERTIES +- LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}") +- SET_TARGET_PROPERTIES( +- paho-mqtt3as-static PROPERTIES +- LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}") +- 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}) ++ IF (PAHO_BUILD_ASYNC) ++ ADD_LIBRARY(paho-mqtt3as-static STATIC $ MQTTAsync.c MQTTAsyncUtils.c SSLSocket.c) ++ ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3as-static PROPERTIES ++ VERSION ${CLIENT_VERSION} ++ SOVERSION ${PAHO_VERSION_MAJOR} ++ COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1") ++ IF (NOT WIN32) ++ SET_TARGET_PROPERTIES(paho-mqtt3as-static PROPERTIES OUTPUT_NAME paho-mqtt3as-static) ++ ENDIF() ++ ++ IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") ++ SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init) ++ ELSEIF (NOT WIN32) ++ SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init) ++ ENDIF() ++ ++ IF (NOT WIN32) ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3as-static PROPERTIES ++ LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}") ++ ENDIF() ++ ++ IF (NOT PAHO_BUILD_SHARED) ++ INSTALL(TARGETS 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-mqtt3as-static ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ ENDIF() ++ FOREACH(TARGET paho-mqtt3as-static) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ TARGET_LINK_LIBRARIES(${TARGET} ++ PUBLIC ++ OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM}) ++ ENDFOREACH() + ELSE() +- INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ ADD_LIBRARY(paho-mqtt3cs-static STATIC $ MQTTClient.c SSLSocket.c) ++ ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3cs-static PROPERTIES ++ VERSION ${CLIENT_VERSION} ++ SOVERSION ${PAHO_VERSION_MAJOR} ++ COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1") ++ IF (NOT WIN32) ++ SET_TARGET_PROPERTIES(paho-mqtt3cs-static PROPERTIES OUTPUT_NAME paho-mqtt3cs-static) ++ ENDIF() ++ ++ IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") ++ SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init) ++ ELSEIF (NOT WIN32) ++ SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init) ++ ENDIF() ++ ++ IF (NOT WIN32) ++ SET_TARGET_PROPERTIES( ++ paho-mqtt3cs-static PROPERTIES ++ LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}") ++ ENDIF() ++ ++ IF (NOT PAHO_BUILD_SHARED) ++ INSTALL(TARGETS paho-mqtt3cs-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 ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ ENDIF() ++ FOREACH(TARGET paho-mqtt3cs-static) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ TARGET_LINK_LIBRARIES(${TARGET} ++ PUBLIC ++ OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM}) ++ ENDFOREACH() + ENDIF() +- FOREACH(TARGET paho-mqtt3cs-static paho-mqtt3as-static) +- TARGET_INCLUDE_DIRECTORIES(${TARGET} +- PUBLIC +- $ +- $ +- PRIVATE +- ${CMAKE_BINARY_DIR}) +- TARGET_LINK_LIBRARIES(${TARGET} +- PUBLIC +- OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM}) +- ENDFOREACH() + ENDIF() + ENDIF() + +@@ -315,21 +447,3 @@ WRITE_BASIC_PACKAGE_VERSION_FILE("eclipse-paho-mqtt-cConfigVersion.cmake" + INSTALL(FILES + "${CMAKE_CURRENT_BINARY_DIR}/eclipse-paho-mqtt-cConfigVersion.cmake" + DESTINATION lib/cmake/eclipse-paho-mqtt-c) +- +-# Base64 test +-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::SSL OpenSSL::Crypto) +- 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::SSL OpenSSL::Crypto) +- TARGET_COMPILE_DEFINITIONS( Sha1TestOpenSSL PUBLIC "-DSHA1_TEST -DOPENSSL=1" ) +-ENDIF (PAHO_WITH_SSL) diff --git a/recipes/paho-mqtt-c/config.yml b/recipes/paho-mqtt-c/config.yml index a381a79fa50cb..16ad40c6cad21 100644 --- a/recipes/paho-mqtt-c/config.yml +++ b/recipes/paho-mqtt-c/config.yml @@ -9,3 +9,5 @@ versions: folder: "all" "1.3.6": folder: "all" + "1.3.8": + folder: "all" From 8f3b0aeb5231cdd0cb38128d358e646aa7b24c21 Mon Sep 17 00:00:00 2001 From: bowb <6180319+bowb@users.noreply.github.com> Date: Tue, 5 Jan 2021 09:27:48 -0700 Subject: [PATCH 2/2] Update to openssl 1.1.1.i --- recipes/paho-mqtt-c/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/paho-mqtt-c/all/conanfile.py b/recipes/paho-mqtt-c/all/conanfile.py index f48a087c56710..147fe4d279131 100644 --- a/recipes/paho-mqtt-c/all/conanfile.py +++ b/recipes/paho-mqtt-c/all/conanfile.py @@ -8,7 +8,7 @@ class PahoMqttcConan(ConanFile): homepage = "https://github.com/eclipse/paho.mqtt.c" topics = ("MQTT", "IoT", "eclipse", "SSL", "paho", "C") license = "EPL-2.0" - description = """Eclipse Paho MQTT C client library for Linux, Windows and MacOS""" + description = "Eclipse Paho MQTT C client library for Linux, Windows and MacOS" exports_sources = ["CMakeLists.txt", "patches/*"] generators = "cmake" settings = "os", "arch", "compiler", "build_type" @@ -44,7 +44,7 @@ def configure(self): def requirements(self): if self.options.ssl: - self.requires("openssl/1.1.1g") + self.requires("openssl/1.1.1i") def source(self): tools.get(**self.conan_data["sources"][self.version]) @@ -71,7 +71,7 @@ def _configure_cmake(self): return self._cmake def build(self): - for patch in self.conan_data["patches"][self.version]: + for patch in self.conan_data.get("patches", {}).get(self.version, []): tools.patch(**patch) cmake = self._configure_cmake() cmake.build()