Skip to content

Commit d291350

Browse files
authored
Merge pull request eclipse-paho#214 from orpiske/openssl-osx-fix
Proposed fix for OpenSSL compilation issue on OS X
2 parents 19eef0f + c5f9c45 commit d291350

File tree

2 files changed

+36
-19
lines changed

2 files changed

+36
-19
lines changed

.travis.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ compiler:
77
os:
88
- linux
99
- osx
10-
10+
11+
before_install:
12+
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install openssl ; fi
13+
1114
script:
12-
- make
15+
- 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
16+
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make ; fi

src/CMakeLists.txt

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
#*******************************************************************************
22
# Copyright (c) 2015 logi.cals GmbH
3-
#
3+
#
44
# All rights reserved. This program and the accompanying materials
55
# are made available under the terms of the Eclipse Public License v1.0
6-
# and Eclipse Distribution License v1.0 which accompany this distribution.
7-
#
8-
# The Eclipse Public License is available at
6+
# and Eclipse Distribution License v1.0 which accompany this distribution.
7+
#
8+
# The Eclipse Public License is available at
99
# http://www.eclipse.org/legal/epl-v10.html
10-
# and the Eclipse Distribution License is available at
10+
# and the Eclipse Distribution License is available at
1111
# http://www.eclipse.org/org/documents/edl-v10.php.
12-
#
12+
#
1313
# Contributors:
1414
# Rainer Poisel - initial version
1515
#*******************************************************************************/
@@ -56,7 +56,7 @@ ENDIF()
5656
ADD_EXECUTABLE(MQTTVersion MQTTVersion.c)
5757
ADD_LIBRARY(paho-mqtt3c SHARED ${common_src} MQTTClient.c)
5858
ADD_LIBRARY(paho-mqtt3a SHARED ${common_src} MQTTAsync.c)
59-
TARGET_LINK_LIBRARIES(paho-mqtt3c pthread ${LIBS_SYSTEM})
59+
TARGET_LINK_LIBRARIES(paho-mqtt3c pthread ${LIBS_SYSTEM})
6060
TARGET_LINK_LIBRARIES(paho-mqtt3a pthread ${LIBS_SYSTEM})
6161
TARGET_LINK_LIBRARIES(MQTTVersion paho-mqtt3a paho-mqtt3c ${LIBS_SYSTEM})
6262
SET_TARGET_PROPERTIES(
@@ -70,19 +70,33 @@ INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h
7070
DESTINATION include)
7171

7272
IF (PAHO_WITH_SSL)
73-
SET(OPENSSL_LIB_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries")
73+
SET(OPENSSL_LIB_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries")
7474
SET(OPENSSL_INC_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL includes")
75-
SET(OPENSSL_LIBRARIES ssl crypto)
76-
LINK_DIRECTORIES(
77-
${OPENSSL_LIB_SEARCH_PATH}
78-
)
75+
76+
IF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
77+
SET(OPENSSL_BREW_PATH "/usr/local/opt/openssl")
78+
ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
79+
80+
FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h
81+
HINTS ${OPENSSL_INC_SEARCH_PATH}/include ${OPENSSL_BREW_PATH}/include/)
82+
FIND_LIBRARY(OPENSSL_LIB NAMES ssl libssl
83+
HINTS ${OPENSSL_BREW_PATH}/lib ${OPENSSL_DIR}/lib ${OPENSSL_DIR}/lib64)
84+
FIND_LIBRARY(OPENSSLCRYPTO_LIB NAMES ssl libssl
85+
HINTS ${OPENSSL_BREW_PATH}/lib ${OPENSSL_DIR}/lib ${OPENSSL_DIR}/lib64)
86+
87+
MESSAGE(STATUS "OpenSSL hint ${PENSSL_INC_SEARCH_PATH} (includes) / ")
88+
MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}")
89+
MESSAGE(STATUS "OpenSSL library found at ${OPENSSL_LIB}")
90+
MESSAGE(STATUS "OpenSSL Crypto library found at ${OPENSSLCRYPTO_LIB}")
91+
7992
INCLUDE_DIRECTORIES(
80-
${OPENSSL_INC_SEARCH_PATH}
81-
)
93+
${OPENSSL_INCLUDE_DIR}
94+
)
8295
ADD_LIBRARY(paho-mqtt3cs SHARED ${common_src} MQTTClient.c SSLSocket.c)
8396
ADD_LIBRARY(paho-mqtt3as SHARED ${common_src} MQTTAsync.c SSLSocket.c)
84-
TARGET_LINK_LIBRARIES(paho-mqtt3cs pthread ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM})
85-
TARGET_LINK_LIBRARIES(paho-mqtt3as pthread ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM})
97+
98+
TARGET_LINK_LIBRARIES(paho-mqtt3cs pthread ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM})
99+
TARGET_LINK_LIBRARIES(paho-mqtt3as pthread ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM})
86100
SET_TARGET_PROPERTIES(
87101
paho-mqtt3cs paho-mqtt3as PROPERTIES
88102
VERSION ${CLIENT_VERSION}
@@ -95,4 +109,3 @@ IF (PAHO_WITH_SSL)
95109
RUNTIME DESTINATION bin
96110
LIBRARY DESTINATION lib)
97111
ENDIF()
98-

0 commit comments

Comments
 (0)