diff --git a/.travis.yml b/.travis.yml index f3e10319..59927363 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,13 @@ sudo: required language: c -compiler: -- gcc -- clang -os: -- linux -- osx -matrix: - exclude: - - compiler: gcc - os: osx - - compiler: clang - os: linux +jobs: + include: + - os: linux + compiler: gcc + env: OPENSSL_ROOT_DIR= + - os: osx + compiler: clang + env: OPENSSL_ROOT_DIR=/usr/local/opt/openssl before_install: #- if [ "$DEPLOY" = "true" ]; then ./travis-setup-deploy.sh; fi - "./travis-install.sh" diff --git a/README.md b/README.md index 998bb9d9..4d2f9b0b 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ 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`) +OPENSSL_ROOT_DIR | "" (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`) PAHO_BUILD_DOCUMENTATION | FALSE | Create and install the HTML based API documentation (requires Doxygen) PAHO_BUILD_SAMPLES | FALSE | Build sample programs MQTT_TEST_BROKER | tcp://localhost:1883 | MQTT connection URL for a broker to use during test execution diff --git a/appveyor.yml b/appveyor.yml index 4bf7c26b..909ae254 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,14 +4,17 @@ environment: matrix: - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013 PAHO_WINDOWS_BUILD_BIT: x86 + OPENSSL_ROOT_DIR: "C:/OpenSSL-Win32" PAHO_BUILD_STATIC: FALSE PAHO_BUILD_SHARED: TRUE - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 PAHO_WINDOWS_BUILD_BIT: x64 + PENSSL_ROOT_DIR: "C:/OpenSSL-Win64" PAHO_BUILD_STATIC: FALSE PAHO_BUILD_SHARED: TRUE - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 PAHO_WINDOWS_BUILD_BIT: x64 + PENSSL_ROOT_DIR: "C:/OpenSSL-Win64" PAHO_BUILD_STATIC: TRUE PAHO_BUILD_SHARED: FALSE @@ -40,7 +43,7 @@ build_script: if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2013" call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %PAHO_WINDOWS_BUILD_BIT% - cmake -G "NMake Makefiles" -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE -DPAHO_BUILD_STATIC=%PAHO_BUILD_STATIC% -DPAHO_BUILD_SHARED=%PAHO_BUILD_SHARED% .. + cmake -G "NMake Makefiles" -DPAHO_WITH_SSL=TRUE -DOPENSSL_ROOT_DIR=%OPENSSL_ROOT_DIR% -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE -DPAHO_BUILD_STATIC=%PAHO_BUILD_STATIC% -DPAHO_BUILD_SHARED=%PAHO_BUILD_SHARED% .. nmake diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 86ee4514..79b8a8c4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -111,6 +111,24 @@ IF (PAHO_BUILD_SHARED) VERSION ${CLIENT_VERSION} SOVERSION ${PAHO_VERSION_MAJOR} DEFINE_SYMBOL "MQTT_EXPORTS") + + 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}") + ENDIF() + FOREACH(TARGET paho-mqtt3c paho-mqtt3a) TARGET_INCLUDE_DIRECTORIES(${TARGET} PUBLIC @@ -166,48 +184,13 @@ INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.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 () - 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 () - ENDIF () - ENDIF () - ELSE() - SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64") - ENDIF () - - FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h - HINTS ${OPENSSL_SEARCH_PATH}/include) - FIND_LIBRARY(OPENSSL_LIB NAMES ssl libssl ssleay32 - HINTS ${OPENSSL_SEARCH_PATH}/lib ${OPENSSL_SEARCH_LIB_PATH}) - FIND_LIBRARY(OPENSSLCRYPTO_LIB NAMES crypto libcrypto libeay32 - HINTS ${OPENSSL_SEARCH_PATH}/lib ${OPENSSL_SEARCH_LIB_PATH}) - - MESSAGE(STATUS "OpenSSL hints: ${OPENSSL_SEARCH_PATH}") - MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}") - MESSAGE(STATUS "OpenSSL library found at ${OPENSSL_LIB}") - MESSAGE(STATUS "OpenSSL Crypto library found at ${OPENSSLCRYPTO_LIB}") - - INCLUDE_DIRECTORIES( - ${OPENSSL_INCLUDE_DIR} - ) + SET(OPENSSL_ROOT_DIR "" CACHE PATH "Directory containing OpenSSL libraries and includes") + find_package(OpenSSL REQUIRED) ## common compilation for libpaho-mqtt3cs and libpaho-mqtt3as ## Note: SSL libraries must be recompiled due ifdefs ADD_LIBRARY(common_ssl_obj OBJECT ${common_src}) + TARGET_INCLUDE_DIRECTORIES(common_ssl_obj PUBLIC ${OPENSSL_INCLUDE_DIR}) 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") @@ -215,14 +198,30 @@ IF (PAHO_WITH_SSL) ADD_LIBRARY(paho-mqtt3cs SHARED $ MQTTClient.c SSLSocket.c) ADD_LIBRARY(paho-mqtt3as SHARED $ 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") + + 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 PROPERTIES + LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}") + SET_TARGET_PROPERTIES( + paho-mqtt3as PROPERTIES + LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}") + ENDIF() + FOREACH(TARGET paho-mqtt3cs paho-mqtt3as) TARGET_INCLUDE_DIRECTORIES(${TARGET} PUBLIC @@ -230,6 +229,9 @@ IF (PAHO_WITH_SSL) $ 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 @@ -242,8 +244,6 @@ IF (PAHO_WITH_SSL) ADD_LIBRARY(paho-mqtt3cs-static STATIC $ MQTTClient.c SSLSocket.c) ADD_LIBRARY(paho-mqtt3as-static STATIC $ 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} @@ -255,6 +255,23 @@ IF (PAHO_WITH_SSL) 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 @@ -272,6 +289,9 @@ IF (PAHO_WITH_SSL) $ PRIVATE ${CMAKE_BINARY_DIR}) + TARGET_LINK_LIBRARIES(${TARGET} + PUBLIC + OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM}) ENDFOREACH() ENDIF() ENDIF() @@ -294,7 +314,7 @@ 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_LINK_LIBRARIES( Base64TestOpenSSL OpenSSL::SSL OpenSSL::Crypto) TARGET_COMPILE_DEFINITIONS( Base64TestOpenSSL PUBLIC "-DBASE64_TEST -DOPENSSL=1" ) ENDIF (PAHO_WITH_SSL) @@ -303,6 +323,6 @@ 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_LINK_LIBRARIES( Sha1TestOpenSSL OpenSSL::SSL OpenSSL::Crypto) TARGET_COMPILE_DEFINITIONS( Sha1TestOpenSSL PUBLIC "-DSHA1_TEST -DOPENSSL=1" ) ENDIF (PAHO_WITH_SSL) diff --git a/src/Heap.c b/src/Heap.c index 7398b927..62170363 100644 --- a/src/Heap.c +++ b/src/Heap.c @@ -56,7 +56,9 @@ static mutex_type heap_mutex = &heap_mutex_store; #endif static heap_info state = {0, 0}; /**< global heap state information */ -static int eyecatcher = 0x88888888; + +typedef double eyecatcherType; +static eyecatcherType eyecatcher = 0x8888888888888888; /*#define HEAP_STACK 1 */ @@ -193,39 +195,39 @@ void* mymalloc(char* file, int line, size_t size) #endif s->line = line; /* Add space for eyecatcher at each end */ - if ((s->ptr = malloc(size + 2*sizeof(int))) == NULL) + if ((s->ptr = malloc(size + 2*sizeof(eyecatcherType))) == NULL) { Log(LOG_ERROR, 13, errmsg); free(s->file); free(s); return NULL; } - memset(s->ptr, 0, size + 2*sizeof(int)); - space += size + 2*sizeof(int); - *(int*)(s->ptr) = eyecatcher; /* start eyecatcher */ - *(int*)(((char*)(s->ptr)) + (sizeof(int) + size)) = eyecatcher; /* end eyecatcher */ + memset(s->ptr, 0, size + 2*sizeof(eyecatcherType)); + space += size + 2*sizeof(eyecatcherType); + *(eyecatcherType*)(s->ptr) = eyecatcher; /* start eyecatcher */ + *(eyecatcherType*)(((char*)(s->ptr)) + (sizeof(eyecatcherType) + size)) = eyecatcher; /* end eyecatcher */ Log(TRACE_MAX, -1, "Allocating %d bytes in heap at file %s line %d ptr %p\n", (int)size, file, line, s->ptr); TreeAdd(&heap, s, space); state.current_size += size; if (state.current_size > state.max_size) state.max_size = state.current_size; Thread_unlock_mutex(heap_mutex); - return ((int*)(s->ptr)) + 1; /* skip start eyecatcher */ + return ((eyecatcherType*)(s->ptr)) + 1; /* skip start eyecatcher */ } static void checkEyecatchers(char* file, int line, void* p, size_t size) { - int *sp = (int*)p; + eyecatcherType *sp = (eyecatcherType*)p; char *cp = (char*)p; - int us; + eyecatcherType us; static const char *msg = "Invalid %s eyecatcher %d in heap item at file %s line %d"; if ((us = *--sp) != eyecatcher) Log(LOG_ERROR, 13, msg, "start", us, file, line); cp += size; - if ((us = *(int*)cp) != eyecatcher) + if ((us = *(eyecatcherType*)cp) != eyecatcher) Log(LOG_ERROR, 13, msg, "end", us, file, line); } @@ -242,7 +244,7 @@ static int Internal_heap_unlink(char* file, int line, void* p) Node* e = NULL; int rc = 0; - e = TreeFind(&heap, ((int*)p)-1); + e = TreeFind(&heap, ((eyecatcherType*)p)-1); if (e == NULL) Log(LOG_ERROR, 13, "Failed to remove heap item at file %s line %d", file, line); else @@ -275,7 +277,7 @@ void myfree(char* file, int line, void* p) { Thread_lock_mutex(heap_mutex); if (Internal_heap_unlink(file, line, p)) - free(((int*)p)-1); + free(((eyecatcherType*)p)-1); Thread_unlock_mutex(heap_mutex); } else @@ -318,7 +320,7 @@ void *myrealloc(char* file, int line, void* p, size_t size) storageElement* s = NULL; Thread_lock_mutex(heap_mutex); - s = TreeRemoveKey(&heap, ((int*)p)-1); + s = TreeRemoveKey(&heap, ((eyecatcherType*)p)-1); if (s == NULL) Log(LOG_ERROR, 13, "Failed to reallocate heap item at file %s line %d", file, line); else @@ -331,14 +333,14 @@ void *myrealloc(char* file, int line, void* p, size_t size) state.current_size += size - s->size; if (state.current_size > state.max_size) state.max_size = state.current_size; - if ((s->ptr = realloc(s->ptr, size + 2*sizeof(int))) == NULL) + if ((s->ptr = realloc(s->ptr, size + 2*sizeof(eyecatcherType))) == NULL) { Log(LOG_ERROR, 13, errmsg); return NULL; } - space += size + 2*sizeof(int) - s->size; - *(int*)(s->ptr) = eyecatcher; /* start eyecatcher */ - *(int*)(((char*)(s->ptr)) + (sizeof(int) + size)) = eyecatcher; /* end eyecatcher */ + space += size + 2*sizeof(eyecatcherType) - s->size; + *(eyecatcherType*)(s->ptr) = eyecatcher; /* start eyecatcher */ + *(eyecatcherType*)(((char*)(s->ptr)) + (sizeof(eyecatcherType) + size)) = eyecatcher; /* end eyecatcher */ s->size = size; space -= strlen(s->file); s->file = realloc(s->file, filenamelen); @@ -349,7 +351,7 @@ void *myrealloc(char* file, int line, void* p, size_t size) TreeAdd(&heap, s, space); } Thread_unlock_mutex(heap_mutex); - return (rc == NULL) ? NULL : ((int*)(rc)) + 1; /* skip start eyecatcher */ + return (rc == NULL) ? NULL : ((eyecatcherType*)(rc)) + 1; /* skip start eyecatcher */ } @@ -364,7 +366,7 @@ void* Heap_findItem(void* p) Node* e = NULL; Thread_lock_mutex(heap_mutex); - e = TreeFind(&heap, ((int*)p)-1); + e = TreeFind(&heap, ((eyecatcherType*)p)-1); Thread_unlock_mutex(heap_mutex); return (e == NULL) ? NULL : e->content; } @@ -384,7 +386,7 @@ static void HeapScan(enum LOG_LEVELS log_level) { storageElement* s = (storageElement*)(current->content); Log(log_level, -1, "Heap element size %d, line %d, file %s, ptr %p", (int)s->size, s->line, s->file, s->ptr); - Log(log_level, -1, " Content %.*s", (10 > current->size) ? (int)s->size : 10, (char*)(((int*)s->ptr) + 1)); + Log(log_level, -1, " Content %.*s", (10 > current->size) ? (int)s->size : 10, (char*)(((eyecatcherType*)s->ptr) + 1)); #if defined(HEAP_STACK) Log(log_level, -1, " Stack:\n%s", s->stack); #endif diff --git a/src/WebSocket.c b/src/WebSocket.c index 131248dd..2fda2b27 100644 --- a/src/WebSocket.c +++ b/src/WebSocket.c @@ -474,7 +474,7 @@ void WebSocket_close(networkHandles *net, int status_code, const char *reason) char *buf0; size_t buf0len = sizeof(uint16_t); uint16_t status_code_be; - const int mask_data = 0; + const int mask_data = 1; /* all frames from client must be masked */ if ( status_code < WebSocket_CLOSE_NORMAL || status_code > WebSocket_CLOSE_TLS_FAIL ) @@ -805,11 +805,10 @@ void WebSocket_pong(networkHandles *net, char *app_data, size_t app_data_len) char *buf0 = NULL; size_t buf0len = 0; int freeData = 0; - const int mask_data = 0; + const int mask_data = 1; /* all frames from client must be masked */ - WebSocket_buildFrame( net, WebSocket_OP_PONG, 1, - &buf0, &buf0len, mask_data, &app_data, - &app_data_len); + WebSocket_buildFrame( net, WebSocket_OP_PONG, mask_data, + &buf0, &buf0len, 1, &app_data, &app_data_len); Log(TRACE_PROTOCOL, 1, "Sending WebSocket PONG" ); diff --git a/src/samples/CMakeLists.txt b/src/samples/CMakeLists.txt index 7e329acc..417aeb54 100644 --- a/src/samples/CMakeLists.txt +++ b/src/samples/CMakeLists.txt @@ -73,10 +73,10 @@ 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}) +TARGET_LINK_LIBRARIES(paho_c_pub_static paho-mqtt3as-static) +TARGET_LINK_LIBRARIES(paho_c_sub_static paho-mqtt3as-static) +TARGET_LINK_LIBRARIES(paho_cs_pub_static paho-mqtt3cs-static) +TARGET_LINK_LIBRARIES(paho_cs_sub_static paho-mqtt3cs-static) ENDIF() diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 35b4e54f..ae7bc568 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -7,37 +7,6 @@ SET(MQTT_SSL_HOSTNAME "localhost" CACHE STRING "Hostname of a test SSL MQTT brok SET(CERTDIR ${CMAKE_SOURCE_DIR}/test/ssl) -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 () - ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - - IF (WIN32) - IF(OPENSSL_SEARCH_PATH STREQUAL "") - SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64") - IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT}) - IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86") - SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32") - ENDIF () - ENDIF () - ENDIF () - ENDIF () - - FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h - HINTS ${OPENSSL_SEARCH_PATH}/include) - - MESSAGE(STATUS "OpenSSL hints: ${OPENSSL_SEARCH_PATH}") - MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}") - - INCLUDE_DIRECTORIES( - ${OPENSSL_INCLUDE_DIR} - ) -ENDIF () - IF (WIN32) SET(LIBS_SYSTEM ws2_32) ELSEIF (UNIX) @@ -357,7 +326,7 @@ IF (PAHO_WITH_SSL) ) TARGET_LINK_LIBRARIES( test3-static - paho-mqtt3cs-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} + paho-mqtt3cs-static ) ADD_TEST( @@ -684,7 +653,7 @@ IF (PAHO_BUILD_STATIC) ADD_TEST( NAME test45-7-pending-tokens-static - COMMAND test45-static "--test_no" "7" --verbose "--connection" ${MQTT_TEST_BROKER} + COMMAND test45-static "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} ) ADD_TEST( @@ -747,7 +716,7 @@ IF (PAHO_BUILD_SHARED) ADD_TEST( NAME test45-7-pending-tokens - COMMAND test45 "--test_no" "7" --verbose "--connection" ${MQTT_TEST_BROKER} + COMMAND test45 "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} ) ADD_TEST( @@ -777,7 +746,7 @@ IF (PAHO_WITH_SSL) TARGET_LINK_LIBRARIES( test5-static - paho-mqtt3as-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} + paho-mqtt3as-static ) ADD_TEST( diff --git a/test/test5.c b/test/test5.c index 5348b571..cec059ce 100644 --- a/test/test5.c +++ b/test/test5.c @@ -774,7 +774,7 @@ int test2a(struct Options options) fprintf(xml, "