aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2015-08-02 16:27:10 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2015-08-02 16:27:10 +0200
commit06c78fe0e2e4e7f0a5ba791571e1986a2e0dab42 (patch)
treebc272faec6c585693341a814c65483e86c56255b /CMakeLists.txt
parentb632036b153297f83b10f6d960ccfe0c1772f00e (diff)
downloadmqtt-cassandra-bridge-06c78fe0e2e4e7f0a5ba791571e1986a2e0dab42.tar.gz
mqtt-cassandra-bridge-06c78fe0e2e4e7f0a5ba791571e1986a2e0dab42.tar.bz2
mqtt-cassandra-bridge-06c78fe0e2e4e7f0a5ba791571e1986a2e0dab42.tar.xz
mqtt-cassandra-bridge-06c78fe0e2e4e7f0a5ba791571e1986a2e0dab42.zip
o Adding a MQTT consumer that stores the parsed record in Cassandra.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt28
1 files changed, 23 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 75645c0..f63f023 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,6 +6,7 @@ find_package(Boost COMPONENTS system program_options unit_test_framework REQUIRE
include(ExternalProject)
set(SHARED_COMPILE_OPTIONS "-std=c++14")
+set(SHARED_SOURCES misc_support.h)
# Cassandra
set(CPP_DRIVER ${CMAKE_CURRENT_BINARY_DIR}/cpp-driver)
@@ -13,17 +14,17 @@ ExternalProject_Add(cpp-driver
URL https://github.com/datastax/cpp-driver/archive/2.1.0-beta.tar.gz
URL_MD5 d3cfde8731acc2f0f51ef9caf41068dc
PREFIX ${CPP_DRIVER}
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_C_COMPILER:FILE=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER:FILE=${CMAKE_CXX_COMPILER}
)
# ble-toys
set(BLE_TOYS ${CMAKE_CURRENT_BINARY_DIR}/ble-toys)
ExternalProject_Add(ble-toys
GIT_REPOSITORY https://trygvis.io/git/2015/02/ble-toys.git
- GIT_TAG 650fb016ce36cfda2e8073764196655ee6a50567
+ GIT_TAG f6493150c1a7172bcd8c9cc1790829285f707ee9
GIT_SUBMODULES json
PREFIX ${BLE_TOYS}
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_C_COMPILER:FILE=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER:FILE=${CMAKE_CXX_COMPILER}
)
# nghttp2
@@ -45,7 +46,7 @@ ExternalProject_Add(nghttp2
# TODO: proper discovery
# sm-mqtt-consumer
-add_executable(sm-mqtt-consumer sm-mqtt-consumer.cpp cassandra_support.h)
+add_executable(sm-mqtt-consumer sm-mqtt-consumer.cpp cassandra_support.h mqtt_support.h ${SHARED_SOURCES})
add_dependencies(sm-mqtt-consumer cpp-driver)
## Boost
target_link_libraries(sm-mqtt-consumer PRIVATE ${Boost_LIBRARIES})
@@ -60,8 +61,24 @@ add_dependencies(sm-mqtt-consumer ble-toys)
target_include_directories(sm-mqtt-consumer PRIVATE ${BLE_TOYS}/include)
target_link_libraries(sm-mqtt-consumer PRIVATE ${BLE_TOYS}/lib/trygvis/libtrygvis-sensor.a)
+# raw-mqtt-consumer
+add_executable(raw-mqtt-consumer raw-mqtt-consumer.cpp cassandra_support.h mqtt_support.h ${SHARED_SOURCES})
+add_dependencies(raw-mqtt-consumer cpp-driver)
+## Boost
+target_link_libraries(raw-mqtt-consumer PRIVATE ${Boost_LIBRARIES})
+## Cassandra
+target_include_directories(raw-mqtt-consumer PRIVATE ${CPP_DRIVER}/include)
+target_link_libraries(raw-mqtt-consumer PRIVATE ${CPP_DRIVER}/lib/libcassandra.so)
+## Mosquitto
+target_compile_options(raw-mqtt-consumer PUBLIC ${SHARED_COMPILE_OPTIONS})
+target_link_libraries(raw-mqtt-consumer PRIVATE mosquitto mosquittopp)
+## Ble toys
+add_dependencies(raw-mqtt-consumer ble-toys)
+target_include_directories(raw-mqtt-consumer PRIVATE ${BLE_TOYS}/include)
+target_link_libraries(raw-mqtt-consumer PRIVATE ${BLE_TOYS}/lib/trygvis/libtrygvis-sensor.a)
+
# sm-http-server
-add_executable(sm-http-server sm-http-server.cpp cassandra_support.h http_support.h)
+add_executable(sm-http-server sm-http-server.cpp cassandra_support.h http_support.h ${SHARED_SOURCES})
target_compile_options(sm-http-server PUBLIC ${SHARED_COMPILE_OPTIONS})
## Boost
target_link_libraries(sm-http-server PRIVATE ${Boost_LIBRARIES})
@@ -76,6 +93,7 @@ target_link_libraries(sm-http-server PRIVATE ${NGHTTP2}/lib/libnghttp2_asio.a ${
## Misc
target_link_libraries(sm-http-server PRIVATE ssl crypto pthread)
+# Testing
enable_testing()
add_executable(http-tests http-tests.cpp http_support.h)
target_compile_options(http-tests PUBLIC ${SHARED_COMPILE_OPTIONS})