diff --git a/.travis.yml b/.travis.yml index 7f4664c..32f3888 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,8 +9,12 @@ addons: - ubuntu-toolchain-r-test packages: - g++-4.8 + - cmake + - cmake-data script: + - ./travis-build.sh + - cd MQTTSNGateway - make CXX="g++-4.8" SENSORNET="xbee" - make CXX="g++-4.8" SENSORNET="udp" @@ -20,9 +24,8 @@ script: - cd GatewayTester - make CXX="g++-4.8" - notifications: emails: - tomoaki@tomy-tech.com - \ No newline at end of file + diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..831307e --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,42 @@ +#******************************************************************************* +# Copyright (c) 2017 IBM Corp. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# and Eclipse Distribution License v1.0 which accompany this distribution. +# +# The Eclipse Public License is available at +# http://www.eclipse.org/legal/epl-v10.html +# and the Eclipse Distribution License is available at +# http://www.eclipse.org/org/documents/edl-v10.php. +# +# Contributors: +# Ian Craggs - initial version +#*******************************************************************************/ + +CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +PROJECT("paho-mqttsn" CXX) +MESSAGE(STATUS "CMake version: " ${CMAKE_VERSION}) +MESSAGE(STATUS "CMake system name: " ${CMAKE_SYSTEM_NAME}) + +SET(CMAKE_SCRIPTS "${CMAKE_SOURCE_DIR}/cmake") +SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") + +## build settings +SET(PAHO_VERSION_MAJOR 1) +SET(PAHO_VERSION_MINOR 0) +SET(PAHO_VERSION_PATCH 0) +SET(CLIENT_VERSION ${PAHO_VERSION_MAJOR}.${PAHO_VERSION_MINOR}.${PAHO_VERSION_PATCH}) + +STRING(TIMESTAMP BUILD_TIMESTAMP UTC) +MESSAGE(STATUS "Timestamp is ${BUILD_TIMESTAMP}") + +SET(CPACK_PACKAGE_VERSION_MAJOR ${PAHO_VERSION_MAJOR}) +SET(CPACK_PACKAGE_VERSION_MINOR ${PAHO_VERSION_MINOR}) +SET(CPACK_PACKAGE_VERSION_PATCH ${PAHO_VERSION_PATCH}) +INCLUDE(CPack) + +ENABLE_TESTING() + +INCLUDE_DIRECTORIES(src) +ADD_SUBDIRECTORY(MQTTSNPacket) diff --git a/MQTTSNPacket/CMakeLists.txt b/MQTTSNPacket/CMakeLists.txt new file mode 100644 index 0000000..cae49cf --- /dev/null +++ b/MQTTSNPacket/CMakeLists.txt @@ -0,0 +1,21 @@ +#******************************************************************************* +# Copyright (c) 2017 IBM Corp. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# and Eclipse Distribution License v1.0 which accompany this distribution. +# +# The Eclipse Public License is available at +# http://www.eclipse.org/legal/epl-v10.html +# and the Eclipse Distribution License is available at +# http://www.eclipse.org/org/documents/edl-v10.php. +# +# Contributors: +# Ian Craggs - initial version +#*******************************************************************************/ + +PROJECT("paho-mqttsnpacket" C) + +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(samples) +ADD_SUBDIRECTORY(test) diff --git a/MQTTSNPacket/samples/CMakeLists.txt b/MQTTSNPacket/samples/CMakeLists.txt new file mode 100644 index 0000000..99300f9 --- /dev/null +++ b/MQTTSNPacket/samples/CMakeLists.txt @@ -0,0 +1,61 @@ +#******************************************************************************* +# Copyright (c) 2017 IBM Corp. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# and Eclipse Distribution License v1.0 which accompany this distribution. +# +# The Eclipse Public License is available at +# http://www.eclipse.org/legal/epl-v10.html +# and the Eclipse Distribution License is available at +# http://www.eclipse.org/org/documents/edl-v10.php. +# +# Contributors: +# Ian Craggs - initial version +#*******************************************************************************/ + +PROJECT(mqtt-sn-samples) + +INCLUDE_DIRECTORIES(../src) + +ADD_EXECUTABLE( + qos0pub + qos0pub.c transport.c +) + +TARGET_LINK_LIBRARIES(qos0pub MQTTSNPacketClient) + +ADD_EXECUTABLE( + qos0pub_register + qos0pub_register.c transport.c +) + +TARGET_LINK_LIBRARIES(qos0pub_register MQTTSNPacketClient) + +ADD_EXECUTABLE( + qos-1pub + qos-1pub.c transport.c +) + +TARGET_LINK_LIBRARIES(qos-1pub MQTTSNPacketClient) + +ADD_EXECUTABLE( + qos-1pub_extended + qos-1pub_extended.c transport.c +) + +TARGET_LINK_LIBRARIES(qos-1pub_extended MQTTSNPacketClient) + +ADD_EXECUTABLE( + qos1pub + qos1pub.c transport.c +) + +TARGET_LINK_LIBRARIES(qos1pub MQTTSNPacketClient) + +ADD_EXECUTABLE( + pub0sub1 + pub0sub1.c transport.c +) + +TARGET_LINK_LIBRARIES(pub0sub1 MQTTSNPacketClient) diff --git a/MQTTSNPacket/src/CMakeLists.txt b/MQTTSNPacket/src/CMakeLists.txt new file mode 100644 index 0000000..3e53996 --- /dev/null +++ b/MQTTSNPacket/src/CMakeLists.txt @@ -0,0 +1,24 @@ +#******************************************************************************* +# Copyright (c) 2017 IBM Corp. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# and Eclipse Distribution License v1.0 which accompany this distribution. +# +# The Eclipse Public License is available at +# http://www.eclipse.org/legal/epl-v10.html +# and the Eclipse Distribution License is available at +# http://www.eclipse.org/org/documents/edl-v10.php. +# +# Contributors: +# Ian Craggs - initial version +#*******************************************************************************/ + + +PROJECT(mqtt-sn-packet C) + +ADD_LIBRARY(MQTTSNPacketClient SHARED MQTTSNConnectClient.c MQTTSNPacket.c MQTTSNSearchClient.c MQTTSNSubscribeClient.c + MQTTSNUnsubscribeClient.c MQTTSNSerializePublish.c MQTTSNDeserializePublish.c) + +ADD_LIBRARY(MQTTSNPacketServer SHARED MQTTSNConnectServer.c MQTTSNPacket.c MQTTSNSearchServer.c MQTTSNSubscribeServer.c + MQTTSNUnsubscribeServer.c MQTTSNSerializePublish.c MQTTSNDeserializePublish.c) diff --git a/MQTTSNPacket/test/CMakeLists.txt b/MQTTSNPacket/test/CMakeLists.txt new file mode 100644 index 0000000..f6c98b2 --- /dev/null +++ b/MQTTSNPacket/test/CMakeLists.txt @@ -0,0 +1,35 @@ +#******************************************************************************* +# Copyright (c) 2017 IBM Corp. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# and Eclipse Distribution License v1.0 which accompany this distribution. +# +# The Eclipse Public License is available at +# http://www.eclipse.org/legal/epl-v10.html +# and the Eclipse Distribution License is available at +# http://www.eclipse.org/org/documents/edl-v10.php. +# +# Contributors: +# Ian Craggs - initial version +#*******************************************************************************/ + +PROJECT(mqtt-sn-tests) + +INCLUDE_DIRECTORIES(../src) + +ADD_EXECUTABLE( + test1 + test1.c +) + +TARGET_LINK_LIBRARIES(test1 MQTTSNPacketClient MQTTSNPacketServer) + +ADD_TEST(NAME test1 COMMAND test1) + +ADD_EXECUTABLE( + test2 + test2.c +) + +TARGET_LINK_LIBRARIES(test2 MQTTSNPacketClient MQTTSNPacketServer) diff --git a/travis-build.sh b/travis-build.sh new file mode 100755 index 0000000..696aa53 --- /dev/null +++ b/travis-build.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e + +rm -rf build.paho +mkdir build.paho +cd build.paho +echo "travis build dir $TRAVIS_BUILD_DIR pwd $PWD" +cmake .. +make +ctest -VV --timeout 600