Page MenuHomePhorge

pahomqttcpp.cmake
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

pahomqttcpp.cmake

#
# Builds the paho.mqtt.cpp library
#
# Outputs the following target:
# paho-mqttpp3
#
# When depending on paho-mqttp3, must also depend on
# either paho-mqttc3::MQTTClient or paho-mqttc3::MQTTAsync
# for using the blocking or the asynchrounous client, respectively.
#
include(ExternalProject)
set(PAHOMQTTCPP_DIR ${CMAKE_SOURCE_DIR}/modules/paho.mqtt.cpp)
set(PAHOMQTTCPP_TARGET_DIR ${CMAKE_BINARY_DIR}/modules/paho.mqtt.cpp)
if( WIN32)
set(PAHOMQTTCPP_STATIC_LIB ${PAHOMQTTCPP_TARGET_DIR}/lib/paho-mqttpp3-static.lib)
else()
set(PAHOMQTTCPP_STATIC_LIB ${PAHOMQTTCPP_TARGET_DIR}/lib/libpaho-mqttpp3.a)
endif()
set(PAHOMQTTCPP_BYPRODUCTS ${PAHOMQTTCPP_STATIC_LIB})
file(MAKE_DIRECTORY ${PAHOMQTTCPP_TARGET_DIR}/include)
set(PAHO_BUILD_SHARED FALSE)
if(NOT ${PAHO_BUILD_STATIC})
set(PAHO_BUILD_SHARED TRUE)
endif()
ExternalProject_Add(
pahomqttcpp
DEPENDS pahomqttc
PREFIX ${PAHOMQTTCPP_TARGET_DIR}
SOURCE_DIR ${PAHOMQTTCPP_DIR}
CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
CMAKE_ARGS -DCMAKE_PROJECT_paho-mqtt-cpp_INCLUDE=${CMAKE_BINARY_DIR}/cmake/fix_pahomqttcpp.cmake
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PAHOMQTTCPP_TARGET_DIR}
CMAKE_ARGS -DPAHO_WITH_SSL=${PAHO_BUILD_WITH_SSL}
CMAKE_ARGS -DPAHO_BUILD_STATIC=${PAHO_BUILD_STATIC}
CMAKE_ARGS -DPAHO_BUILD_SHARED=${PAHO_BUILD_SHARED}
BUILD_COMMAND cmake --build . --config $<CONFIG>
INSTALL_COMMAND cmake --install . --config $<CONFIG>
BUILD_BYPRODUCTS ${PAHOMQTTCPP_BYPRODUCTS}
)
add_library(paho-mqttpp3 STATIC IMPORTED GLOBAL)
add_dependencies(paho-mqttpp3 pahomqttcpp)
set_target_properties(paho-mqttpp3 PROPERTIES
IMPORTED_LOCATION ${PAHOMQTTCPP_STATIC_LIB}
INTERFACE_INCLUDE_DIRECTORIES ${PAHOMQTTCPP_TARGET_DIR}/include)

File Metadata

Mime Type
text/plain
Expires
Sun, Jun 8, 7:36 PM (1 d, 7 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
148334
Default Alt Text
pahomqttcpp.cmake (1 KB)

Event Timeline