Commit 83087449 authored by Ian Craggs's avatar Ian Craggs

Build TLS libraries on Windows

parent 5db08261
...@@ -63,7 +63,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Linux") ...@@ -63,7 +63,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
ENDIF() ENDIF()
IF(WIN32) IF(WIN32)
ADD_DEFINITIONS(-DWIN32 -D_WINDOWS -D_CRT_SECURE_NO_DEPRECATE) ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN -MD)
ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
ADD_DEFINITIONS(-DOSX) ADD_DEFINITIONS(-DOSX)
ENDIF() ENDIF()
......
...@@ -2,7 +2,11 @@ version: 1.0.{build} ...@@ -2,7 +2,11 @@ version: 1.0.{build}
image: Visual Studio 2015 image: Visual Studio 2015
configuration: Debug configuration: Debug
install: install:
- cmd: cinst openssl.light - ps: cinst openssl.light -y
- ps: (new-object net.webclient).DownloadFile('https://eclipse.org/downloads/download.php?file=/mosquitto/binary/win32/mosquitto-1.4.11-install-win32.exe', 'mosquitto-1.4.11-install-win32.exe')
- ps: mosquitto-1.4.11-install-win32.exe /S
- ps: taskkill
- ps: (new-object net.webclient).DownloadFile('ftp://sources.redhat.com/pub/pthreads-win32/dll-latest/dll/x86/pthreadVC2.dll', "C:\Program Files (x86)\mosquitto\pthreadVC2.dll")
build_script: build_script:
- cmd: >- - cmd: >-
mkdir build.paho mkdir build.paho
...@@ -15,6 +19,8 @@ build_script: ...@@ -15,6 +19,8 @@ build_script:
nmake nmake
python ..\test\mqttsas2.py mqtt.iotree.co.uk
ctest -T test -VV ctest -T test -VV
cd .. cd ..
......
setlocal setlocal
rmdir /s /q build.paho
mkdir build.paho mkdir build.paho
cd build.paho cd build.paho
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
cmake -G "NMake Makefiles" -DPAHO_WITH_SSL=FALSE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE .. cmake -G "NMake Makefiles" -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=TRUE ..
nmake nmake
......
...@@ -36,14 +36,18 @@ IF (PAHO_WITH_SSL) ...@@ -36,14 +36,18 @@ IF (PAHO_WITH_SSL)
SET(OPENSSL_BREW_PATH "/usr/local/opt/openssl") SET(OPENSSL_BREW_PATH "/usr/local/opt/openssl")
ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
IF (WIN32)
SET(OPENSSL_DIR $ENV{OPENSSL_DIR})
ENDIF ()
FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h
HINTS ${OPENSSL_INC_SEARCH_PATH}/include ${OPENSSL_BREW_PATH}/include/) HINTS ${OPENSSL_INC_SEARCH_PATH}/include ${OPENSSL_DIR}/include ${OPENSSL_BREW_PATH}/include/)
FIND_LIBRARY(OPENSSL_LIB NAMES ssl libssl FIND_LIBRARY(OPENSSL_LIB NAMES ssl libssl ssleay32
HINTS ${OPENSSL_BREW_PATH}/lib ${OPENSSL_DIR}/lib ${OPENSSL_DIR}/lib64) HINTS ${OPENSSL_BREW_PATH}/lib ${OPENSSL_DIR}/lib ${OPENSSL_DIR}/lib64)
FIND_LIBRARY(OPENSSLCRYPTO_LIB NAMES crypto libcrypto FIND_LIBRARY(OPENSSLCRYPTO_LIB NAMES crypto libcrypto libeay32
HINTS ${OPENSSL_BREW_PATH}/lib ${OPENSSL_DIR}/lib ${OPENSSL_DIR}/lib64) HINTS ${OPENSSL_BREW_PATH}/lib ${OPENSSL_DIR}/lib ${OPENSSL_DIR}/lib64)
MESSAGE(STATUS "OpenSSL hint ${PENSSL_INC_SEARCH_PATH} (includes) / ") MESSAGE(STATUS "OpenSSL hint ${OPENSSL_INC_SEARCH_PATH} (includes) / ")
MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}") MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}")
MESSAGE(STATUS "OpenSSL library found at ${OPENSSL_LIB}") MESSAGE(STATUS "OpenSSL library found at ${OPENSSL_LIB}")
MESSAGE(STATUS "OpenSSL Crypto library found at ${OPENSSLCRYPTO_LIB}") MESSAGE(STATUS "OpenSSL Crypto library found at ${OPENSSLCRYPTO_LIB}")
......
...@@ -42,15 +42,13 @@ ...@@ -42,15 +42,13 @@
#include <stdio.h> #include <stdio.h>
#include <signal.h> #include <signal.h>
#include <memory.h> #include <memory.h>
#include <stdlib.h>
#if defined(WIN32) #if defined(WIN32)
#include <Windows.h>
#define sleep Sleep #define sleep Sleep
#else #else
#include <unistd.h> #include <unistd.h>
#include <sys/time.h> #include <sys/time.h>
#include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#endif #endif
......
...@@ -45,14 +45,13 @@ ...@@ -45,14 +45,13 @@
#include <stdio.h> #include <stdio.h>
#include <signal.h> #include <signal.h>
#include <memory.h> #include <memory.h>
#include <stdlib.h>
#if defined(WIN32) #if defined(WIN32)
#include <windows.h>
#define sleep Sleep #define sleep Sleep
#else #else
#include <sys/time.h> #include <sys/time.h>
#include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#endif #endif
...@@ -357,5 +356,3 @@ exit: ...@@ -357,5 +356,3 @@ exit:
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }
...@@ -41,14 +41,12 @@ ...@@ -41,14 +41,12 @@
#include <stdio.h> #include <stdio.h>
#include <signal.h> #include <signal.h>
#include <memory.h> #include <memory.h>
#include <stdlib.h>
#if defined(WIN32) #if defined(WIN32)
#include <Windows.h>
#define sleep Sleep #define sleep Sleep
#else #else
#include <sys/time.h> #include <sys/time.h>
#include <stdlib.h>
#endif #endif
......
...@@ -44,14 +44,13 @@ ...@@ -44,14 +44,13 @@
#include <stdio.h> #include <stdio.h>
#include <signal.h> #include <signal.h>
#include <memory.h> #include <memory.h>
#include <stdlib.h>
#if defined(WIN32) #if defined(WIN32)
#include <windows.h>
#define sleep Sleep #define sleep Sleep
#else #else
#include <sys/time.h> #include <sys/time.h>
#include <stdlib.h>
#endif #endif
......
PROJECT(mqtt-tests) PROJECT(mqtt-tests)
SET(MQTT_TEST_BROKER "tcp://localhost:1883" CACHE STRING "Hostname of a test MQTT broker to use") IF (WIN32)
SET(MQTT_TEST_PROXY "tcp://localhost:1884" CACHE STRING "Hostname of the test proxy to use") SET(MQTT_TEST_BROKER "tcp://mqtt.iotree.co.uk:1883" CACHE STRING "Hostname of a test MQTT broker to use")
SET(MQTT_SSL_HOSTNAME "localhost" CACHE STRING "Hostname of a test SSL MQTT broker to use") SET(MQTT_TEST_PROXY "tcp://localhost:1883" CACHE STRING "Hostname of the test proxy to use")
SET(MQTT_SSL_HOSTNAME "mqtt.iotree.co.uk" CACHE STRING "Hostname of a test SSL MQTT broker to use")
ELSE ()
SET(MQTT_TEST_BROKER "tcp://localhost:1883" CACHE STRING "Hostname of a test MQTT broker to use")
SET(MQTT_TEST_PROXY "tcp://localhost:1884" CACHE STRING "Hostname of the test proxy to use")
SET(MQTT_SSL_HOSTNAME "localhost" CACHE STRING "Hostname of a test SSL MQTT broker to use")
ENDIF ()
SET(CERTDIR $ENV{TRAVIS_BUILD_DIR}/test/ssl ) SET(CERTDIR $ENV{TRAVIS_BUILD_DIR}/test/ssl )
ADD_EXECUTABLE( ADD_EXECUTABLE(
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <errno.h> #include <errno.h>
#else #else
#include <windows.h> #include <windows.h>
#include <applink.c>
#define MAXHOSTNAMELEN 256 #define MAXHOSTNAMELEN 256
#define snprintf _snprintf #define snprintf _snprintf
#define setenv(a, b, c) _putenv_s(a, b) #define setenv(a, b, c) _putenv_s(a, b)
......
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