Commit d291350f authored by Ian Craggs's avatar Ian Craggs Committed by GitHub

Merge pull request #214 from orpiske/openssl-osx-fix

Proposed fix for OpenSSL compilation issue on OS X
parents 19eef0f3 c5f9c45b
...@@ -8,5 +8,9 @@ os: ...@@ -8,5 +8,9 @@ os:
- linux - linux
- osx - osx
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install openssl ; fi
script: script:
- make - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir build.paho ; cd build.paho; cmake -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=TRUE .. ; make ; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make ; fi
...@@ -70,19 +70,33 @@ INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h ...@@ -70,19 +70,33 @@ INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h
DESTINATION include) DESTINATION include)
IF (PAHO_WITH_SSL) IF (PAHO_WITH_SSL)
SET(OPENSSL_LIB_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries") SET(OPENSSL_LIB_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries")
SET(OPENSSL_INC_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL includes") SET(OPENSSL_INC_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL includes")
SET(OPENSSL_LIBRARIES ssl crypto)
LINK_DIRECTORIES( IF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
${OPENSSL_LIB_SEARCH_PATH} SET(OPENSSL_BREW_PATH "/usr/local/opt/openssl")
) ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h
HINTS ${OPENSSL_INC_SEARCH_PATH}/include ${OPENSSL_BREW_PATH}/include/)
FIND_LIBRARY(OPENSSL_LIB NAMES ssl libssl
HINTS ${OPENSSL_BREW_PATH}/lib ${OPENSSL_DIR}/lib ${OPENSSL_DIR}/lib64)
FIND_LIBRARY(OPENSSLCRYPTO_LIB NAMES ssl libssl
HINTS ${OPENSSL_BREW_PATH}/lib ${OPENSSL_DIR}/lib ${OPENSSL_DIR}/lib64)
MESSAGE(STATUS "OpenSSL hint ${PENSSL_INC_SEARCH_PATH} (includes) / ")
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( INCLUDE_DIRECTORIES(
${OPENSSL_INC_SEARCH_PATH} ${OPENSSL_INCLUDE_DIR}
) )
ADD_LIBRARY(paho-mqtt3cs SHARED ${common_src} MQTTClient.c SSLSocket.c) ADD_LIBRARY(paho-mqtt3cs SHARED ${common_src} MQTTClient.c SSLSocket.c)
ADD_LIBRARY(paho-mqtt3as SHARED ${common_src} MQTTAsync.c SSLSocket.c) ADD_LIBRARY(paho-mqtt3as SHARED ${common_src} MQTTAsync.c SSLSocket.c)
TARGET_LINK_LIBRARIES(paho-mqtt3cs pthread ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM})
TARGET_LINK_LIBRARIES(paho-mqtt3as pthread ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM}) TARGET_LINK_LIBRARIES(paho-mqtt3cs pthread ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM})
TARGET_LINK_LIBRARIES(paho-mqtt3as pthread ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM})
SET_TARGET_PROPERTIES( SET_TARGET_PROPERTIES(
paho-mqtt3cs paho-mqtt3as PROPERTIES paho-mqtt3cs paho-mqtt3as PROPERTIES
VERSION ${CLIENT_VERSION} VERSION ${CLIENT_VERSION}
...@@ -95,4 +109,3 @@ IF (PAHO_WITH_SSL) ...@@ -95,4 +109,3 @@ IF (PAHO_WITH_SSL)
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
LIBRARY DESTINATION lib) LIBRARY DESTINATION lib)
ENDIF() ENDIF()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment