mirror of https://github.com/eclipse/paho.mqtt.c
Fixed formatting in CMake files.
This commit is contained in:
parent
59761f5b00
commit
80feb203c8
170
CMakeLists.txt
170
CMakeLists.txt
|
|
@ -1,5 +1,6 @@
|
|||
#*******************************************************************************
|
||||
# Copyright (c) 2015, 2023 logi.cals GmbH and others
|
||||
# Copyright (c) 2023 Frank Pagliughi <fpagliughi@mindspring.com>
|
||||
#
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# are made available under the terms of the Eclipse Public License v2.0
|
||||
|
|
@ -15,19 +16,18 @@
|
|||
# Genis Riera Perez - Add support for building debian package
|
||||
#*******************************************************************************/
|
||||
|
||||
# Note: on OS X you should install XCode and the associated command-line tools
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
|
||||
PROJECT("Eclipse Paho C"
|
||||
project("Eclipse Paho C"
|
||||
VERSION 1.3.13
|
||||
LANGUAGES C
|
||||
)
|
||||
|
||||
MESSAGE(STATUS "CMake version: " ${CMAKE_VERSION})
|
||||
MESSAGE(STATUS "CMake system name: " ${CMAKE_SYSTEM_NAME})
|
||||
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")
|
||||
set(CMAKE_SCRIPTS "${CMAKE_SOURCE_DIR}/cmake")
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
|
||||
|
||||
## Project Version
|
||||
## Previously we read in the version from these files, but now we use the
|
||||
|
|
@ -35,106 +35,110 @@ SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
|
|||
file(READ version.major PAHO_VERSION_MAJOR)
|
||||
file(READ version.minor PAHO_VERSION_MINOR)
|
||||
file(READ version.patch PAHO_VERSION_PATCH)
|
||||
SET(CLIENT_VERSION ${PAHO_VERSION_MAJOR}.${PAHO_VERSION_MINOR}.${PAHO_VERSION_PATCH})
|
||||
set(CLIENT_VERSION ${PAHO_VERSION_MAJOR}.${PAHO_VERSION_MINOR}.${PAHO_VERSION_PATCH})
|
||||
|
||||
if(NOT (CLIENT_VERSION VERSION_EQUAL PROJECT_VERSION))
|
||||
message(FATAL_ERROR "CMake project version does NOT match. CMake: ${PROJECT_VERSION}, Files: ${CLIENT_VERSION}")
|
||||
endif()
|
||||
|
||||
INCLUDE(GNUInstallDirs)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
STRING(TIMESTAMP BUILD_TIMESTAMP UTC)
|
||||
MESSAGE(STATUS "Timestamp is ${BUILD_TIMESTAMP}")
|
||||
string(TIMESTAMP BUILD_TIMESTAMP UTC)
|
||||
message(STATUS "Timestamp is ${BUILD_TIMESTAMP}")
|
||||
|
||||
IF(WIN32)
|
||||
ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN)
|
||||
ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
ADD_DEFINITIONS(-DOSX)
|
||||
ENDIF()
|
||||
if(WIN32)
|
||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN)
|
||||
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
add_definitions(-DOSX)
|
||||
endif()
|
||||
|
||||
## build options
|
||||
SET(PAHO_WITH_SSL FALSE CACHE BOOL "Flag that defines whether to build ssl-enabled binaries too. ")
|
||||
SET(PAHO_WITH_LIBUUID FALSE CACHE BOOL "Flag that defines whether libuuid or a custom uuid implementation should be used")
|
||||
SET(PAHO_BUILD_SHARED TRUE CACHE BOOL "Build shared library")
|
||||
SET(PAHO_BUILD_STATIC FALSE CACHE BOOL "Build static library")
|
||||
SET(PAHO_BUILD_DOCUMENTATION FALSE CACHE BOOL "Create and install the HTML based API documentation (requires Doxygen)")
|
||||
SET(PAHO_BUILD_SAMPLES FALSE CACHE BOOL "Build sample programs")
|
||||
SET(PAHO_BUILD_DEB_PACKAGE FALSE CACHE BOOL "Build debian package")
|
||||
SET(PAHO_ENABLE_TESTING TRUE CACHE BOOL "Build tests and run")
|
||||
SET(PAHO_ENABLE_CPACK TRUE CACHE BOOL "Enable CPack")
|
||||
SET(PAHO_HIGH_PERFORMANCE FALSE CACHE BOOL "Disable tracing and heap tracking")
|
||||
SET(PAHO_USE_SELECT FALSE CACHE BOOL "Revert to select system call instead of poll")
|
||||
|
||||
IF (PAHO_HIGH_PERFORMANCE)
|
||||
ADD_DEFINITIONS(-DHIGH_PERFORMANCE=1)
|
||||
ENDIF()
|
||||
option(PAHO_WITH_SSL "Flag that defines whether to build ssl-enabled binaries too. " FALSE)
|
||||
option(PAHO_WITH_LIBUUID "Flag that defines whether libuuid or a custom uuid implementation should be used" FALSE)
|
||||
option(PAHO_BUILD_SHARED "Build shared library" TRUE)
|
||||
option(PAHO_BUILD_STATIC "Build static library" FALSE)
|
||||
option(PAHO_BUILD_DOCUMENTATION "Create and install the HTML based API documentation (requires Doxygen)" FALSE)
|
||||
option(PAHO_BUILD_SAMPLES "Build sample programs" FALSE)
|
||||
option(PAHO_BUILD_DEB_PACKAGE "Build debian package" FALSE)
|
||||
option(PAHO_ENABLE_TESTING "Build tests and run" TRUE)
|
||||
option(PAHO_ENABLE_CPACK "Enable CPack" TRUE)
|
||||
option(PAHO_HIGH_PERFORMANCE "Disable tracing and heap tracking" FALSE)
|
||||
option(PAHO_USE_SELECT "Revert to select system call instead of poll" FALSE)
|
||||
|
||||
IF (PAHO_USE_SELECT)
|
||||
ADD_DEFINITIONS(-DUSE_SELECT=1)
|
||||
ENDIF()
|
||||
if(PAHO_HIGH_PERFORMANCE)
|
||||
add_definitions(-DHIGH_PERFORMANCE=1)
|
||||
endif()
|
||||
|
||||
IF (PAHO_WITH_LIBUUID)
|
||||
ADD_DEFINITIONS(-DUSE_LIBUUID=1)
|
||||
ENDIF()
|
||||
if(PAHO_USE_SELECT)
|
||||
add_definitions(-DUSE_SELECT=1)
|
||||
endif()
|
||||
|
||||
IF (NOT PAHO_BUILD_SHARED AND NOT PAHO_BUILD_STATIC)
|
||||
MESSAGE(FATAL_ERROR "You must set either PAHO_BUILD_SHARED, PAHO_BUILD_STATIC, or both")
|
||||
ENDIF()
|
||||
if(PAHO_WITH_LIBUUID)
|
||||
add_definitions(-DUSE_LIBUUID=1)
|
||||
endif()
|
||||
|
||||
IF (PAHO_BUILD_SAMPLES AND NOT PAHO_WITH_SSL)
|
||||
MESSAGE(FATAL_ERROR "You must build with SSL to build the samples")
|
||||
ENDIF()
|
||||
if(NOT PAHO_BUILD_SHARED AND NOT PAHO_BUILD_STATIC)
|
||||
message(FATAL_ERROR "You must set either PAHO_BUILD_SHARED, PAHO_BUILD_STATIC, or both")
|
||||
endif()
|
||||
|
||||
IF(PAHO_BUILD_DEB_PACKAGE)
|
||||
if(PAHO_BUILD_SAMPLES AND NOT PAHO_WITH_SSL)
|
||||
message(FATAL_ERROR "You must build with SSL to build the samples")
|
||||
endif()
|
||||
|
||||
if(PAHO_BUILD_DEB_PACKAGE)
|
||||
set(CMAKE_INSTALL_DOCDIR share/doc/libpaho-mqtt)
|
||||
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
|
||||
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
ADD_SUBDIRECTORY(src)
|
||||
IF(PAHO_BUILD_SAMPLES)
|
||||
ADD_SUBDIRECTORY(src/samples)
|
||||
ENDIF()
|
||||
add_subdirectory(src)
|
||||
|
||||
IF(PAHO_BUILD_DOCUMENTATION)
|
||||
ADD_SUBDIRECTORY(doc)
|
||||
ENDIF()
|
||||
if(PAHO_BUILD_SAMPLES)
|
||||
add_subdirectory(src/samples)
|
||||
endif()
|
||||
|
||||
IF (PAHO_ENABLE_CPACK)
|
||||
if(PAHO_BUILD_DOCUMENTATION)
|
||||
add_subdirectory(doc)
|
||||
endif()
|
||||
|
||||
if(PAHO_ENABLE_CPACK)
|
||||
### packaging settings
|
||||
FILE(GLOB samples "src/samples/*.c")
|
||||
INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR}/samples)
|
||||
file(GLOB samples "src/samples/*.c")
|
||||
install(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR}/samples)
|
||||
|
||||
SET(CPACK_PACKAGE_VENDOR "Eclipse Paho")
|
||||
SET(CPACK_PACKAGE_NAME "Eclipse-Paho-MQTT-C")
|
||||
INSTALL(FILES CONTRIBUTING.md epl-v20 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
set(CPACK_PACKAGE_VENDOR "Eclipse Paho")
|
||||
set(CPACK_PACKAGE_NAME "Eclipse-Paho-MQTT-C")
|
||||
install(FILES CONTRIBUTING.md epl-v20 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
|
||||
IF (WIN32)
|
||||
SET(CPACK_GENERATOR "ZIP")
|
||||
ELSEIF(PAHO_BUILD_DEB_PACKAGE)
|
||||
INSTALL(FILES CONTRIBUTING.md epl-v20 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
if(WIN32)
|
||||
set(CPACK_GENERATOR "ZIP")
|
||||
elseif(PAHO_BUILD_DEB_PACKAGE)
|
||||
install(FILES CONTRIBUTING.md epl-v20 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
|
||||
SET(CPACK_GENERATOR "DEB")
|
||||
CONFIGURE_FILE(${CMAKE_SCRIPTS}/CPackDebConfig.cmake.in
|
||||
${CMAKE_BINARY_DIR}/CPackDebConfig.cmake @ONLY)
|
||||
SET(CPACK_PROJECT_CONFIG_FILE ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake)
|
||||
ELSE()
|
||||
SET(CPACK_GENERATOR "TGZ")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
FILE(GLOB samples "src/samples/*.c")
|
||||
INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
ENDIF()
|
||||
set(CPACK_GENERATOR "DEB")
|
||||
configure_file(${CMAKE_SCRIPTS}/CPackDebConfig.cmake.in
|
||||
${CMAKE_BINARY_DIR}/CPackDebConfig.cmake @ONLY
|
||||
)
|
||||
set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake)
|
||||
else()
|
||||
set(CPACK_GENERATOR "TGZ")
|
||||
endif()
|
||||
else()
|
||||
file(GLOB samples "src/samples/*.c")
|
||||
install(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
endif()
|
||||
|
||||
SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
||||
SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
||||
SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
||||
INCLUDE(CPack)
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
||||
|
||||
IF(PAHO_ENABLE_TESTING)
|
||||
ENABLE_TESTING()
|
||||
INCLUDE_DIRECTORIES(test src)
|
||||
ADD_SUBDIRECTORY(test)
|
||||
ELSE()
|
||||
INCLUDE_DIRECTORIES(src)
|
||||
ENDIF()
|
||||
include(CPack)
|
||||
|
||||
if(PAHO_ENABLE_TESTING)
|
||||
enable_testing()
|
||||
include_directories(test src)
|
||||
add_subdirectory(test)
|
||||
else()
|
||||
include_directories(src)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -14,32 +14,33 @@
|
|||
# Rainer Poisel - initial version
|
||||
#*******************************************************************************/
|
||||
|
||||
# Note: on OS X you should install XCode and the associated command-line tools
|
||||
|
||||
### documentation settings
|
||||
FIND_PACKAGE(Doxygen)
|
||||
IF(NOT DOXYGEN_FOUND)
|
||||
find_package(Doxygen)
|
||||
if(NOT DOXYGEN_FOUND)
|
||||
message(FATAL_ERROR "Doxygen is needed to build the documentation.")
|
||||
ENDIF()
|
||||
SET(DOXYTARGETS)
|
||||
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc)
|
||||
FOREACH(DOXYFILE_SRC DoxyfileV3ClientAPI;DoxyfileV3AsyncAPI;DoxyfileV3ClientInternal)
|
||||
SET(DOXYFILE_IN ${DOXYFILE_SRC}.in)
|
||||
SET(DOXYFILE ${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE_SRC})
|
||||
endif()
|
||||
|
||||
CONFIGURE_FILE(${DOXYFILE_IN} ${DOXYFILE} @ONLY)
|
||||
ADD_CUSTOM_TARGET(${DOXYFILE_SRC}.target
|
||||
set(DOXYTARGETS)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc)
|
||||
|
||||
foreach(DOXYFILE_SRC DoxyfileV3ClientAPI;DoxyfileV3AsyncAPI;DoxyfileV3ClientInternal)
|
||||
set(DOXYFILE_IN ${DOXYFILE_SRC}.in)
|
||||
set(DOXYFILE ${CMAKE_CURRENT_BINARY_DIR}/${DOXYFILE_SRC})
|
||||
|
||||
configure_file(${DOXYFILE_IN} ${DOXYFILE} @ONLY)
|
||||
add_custom_target(${DOXYFILE_SRC}.target
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Generating API documentation with Doxygen"
|
||||
VERBATIM
|
||||
)
|
||||
SET(DOXYTARGETS ${DOXYTARGETS} ${DOXYFILE_SRC}.target)
|
||||
ENDFOREACH(DOXYFILE_SRC)
|
||||
set(DOXYTARGETS ${DOXYTARGETS} ${DOXYFILE_SRC}.target)
|
||||
endforeach(DOXYFILE_SRC)
|
||||
|
||||
ADD_CUSTOM_TARGET(doc ALL DEPENDS ${DOXYTARGETS})
|
||||
IF (PAHO_ENABLE_CPACK)
|
||||
INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
ELSE()
|
||||
INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
ENDIF()
|
||||
add_custom_target(doc ALL DEPENDS ${DOXYTARGETS})
|
||||
|
||||
if(PAHO_ENABLE_CPACK)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
else()
|
||||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#*******************************************************************************
|
||||
# Copyright (c) 2015, 2023 logi.cals GmbH and others
|
||||
# Copyright (c) 2023, Frank Pagliughi <fpagliughi@mindspring.com>
|
||||
#
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# are made available under the terms of the Eclipse Public License v2.0
|
||||
|
|
@ -16,16 +17,14 @@
|
|||
# Ian Craggs - update for MQTTV5 support
|
||||
#*******************************************************************************/
|
||||
|
||||
# Note: on OS X you should install XCode and the associated command-line tools
|
||||
|
||||
## compilation/linkage settings
|
||||
|
||||
CONFIGURE_FILE(VersionInfo.h.in
|
||||
configure_file(VersionInfo.h.in
|
||||
${CMAKE_BINARY_DIR}/VersionInfo.h
|
||||
@ONLY
|
||||
)
|
||||
|
||||
SET(common_src
|
||||
set(common_src
|
||||
MQTTTime.c
|
||||
MQTTProtocolClient.c
|
||||
Clients.c
|
||||
|
|
@ -50,290 +49,371 @@ SET(common_src
|
|||
Proxy.c
|
||||
)
|
||||
|
||||
IF (NOT PAHO_HIGH_PERFORMANCE)
|
||||
SET(common_src ${common_src}
|
||||
if(NOT PAHO_HIGH_PERFORMANCE)
|
||||
set(common_src ${common_src}
|
||||
StackTrace.c
|
||||
Heap.c
|
||||
)
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
IF (WIN32)
|
||||
SET(LIBS_SYSTEM ws2_32 crypt32 RpcRT4)
|
||||
ELSEIF (UNIX)
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
SET(LIBS_SYSTEM c dl pthread rt)
|
||||
if(WIN32)
|
||||
set(LIBS_SYSTEM ws2_32 crypt32 RpcRT4)
|
||||
elseif(UNIX)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
set(LIBS_SYSTEM c dl pthread rt)
|
||||
# anl is only available with glibc so check if it is found before using
|
||||
# it or build will fail on uclibc or musl
|
||||
FIND_LIBRARY(LIB_ANL anl)
|
||||
IF(LIB_ANL)
|
||||
SET(LIBS_SYSTEM "${LIBS_SYSTEM}" anl)
|
||||
ENDIF()
|
||||
IF(PAHO_WITH_LIBUUID)
|
||||
SET(LIBS_SYSTEM "${LIBS_SYSTEM}" uuid)
|
||||
ENDIF()
|
||||
ADD_DEFINITIONS(-D_GNU_SOURCE -fvisibility=hidden)
|
||||
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Android")
|
||||
SET(LIBS_SYSTEM c dl)
|
||||
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||
SET(LIBS_SYSTEM compat pthread)
|
||||
ELSE()
|
||||
SET(LIBS_SYSTEM c pthread)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
find_library(LIB_ANL anl)
|
||||
if(LIB_ANL)
|
||||
set(LIBS_SYSTEM "${LIBS_SYSTEM}" anl)
|
||||
endif()
|
||||
if(PAHO_WITH_LIBUUID)
|
||||
set(LIBS_SYSTEM "${LIBS_SYSTEM}" uuid)
|
||||
endif()
|
||||
add_definitions(-D_GNU_SOURCE -fvisibility=hidden)
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "Android")
|
||||
set(LIBS_SYSTEM c dl)
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||
set(LIBS_SYSTEM compat pthread)
|
||||
else()
|
||||
set(LIBS_SYSTEM c pthread)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
IF (PAHO_BUILD_SHARED)
|
||||
if(PAHO_BUILD_SHARED)
|
||||
# common compilation for libpaho-mqtt3c and libpaho-mqtt3a
|
||||
ADD_LIBRARY(common_obj OBJECT ${common_src})
|
||||
SET_TARGET_PROPERTIES(common_obj PROPERTIES
|
||||
add_library(common_obj OBJECT ${common_src})
|
||||
set_target_properties(common_obj PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_EXPORTS=1")
|
||||
ADD_EXECUTABLE(MQTTVersion MQTTVersion.c)
|
||||
SET_TARGET_PROPERTIES(MQTTVersion PROPERTIES
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_EXPORTS=1"
|
||||
)
|
||||
add_executable(MQTTVersion MQTTVersion.c)
|
||||
set_target_properties(MQTTVersion PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_IMPORTS=1")
|
||||
ENDIF()
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_IMPORTS=1"
|
||||
)
|
||||
endif()
|
||||
|
||||
IF (PAHO_BUILD_STATIC)
|
||||
ADD_LIBRARY(common_obj_static OBJECT ${common_src})
|
||||
SET_TARGET_PROPERTIES(common_obj_static PROPERTIES
|
||||
if(PAHO_BUILD_STATIC)
|
||||
add_library(common_obj_static OBJECT ${common_src})
|
||||
set_target_properties(common_obj_static PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1")
|
||||
ENDIF()
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1"
|
||||
)
|
||||
endif()
|
||||
|
||||
IF (PAHO_BUILD_SHARED)
|
||||
ADD_LIBRARY(paho-mqtt3c SHARED $<TARGET_OBJECTS:common_obj> MQTTClient.c)
|
||||
ADD_LIBRARY(paho-mqtt3a SHARED $<TARGET_OBJECTS:common_obj> MQTTAsync.c MQTTAsyncUtils.c)
|
||||
if(PAHO_BUILD_SHARED)
|
||||
add_library(paho-mqtt3c SHARED
|
||||
$<TARGET_OBJECTS:common_obj>
|
||||
MQTTClient.c
|
||||
)
|
||||
add_library(paho-mqtt3a SHARED
|
||||
$<TARGET_OBJECTS:common_obj>
|
||||
MQTTAsync.c
|
||||
MQTTAsyncUtils.c
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3c ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3a ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(MQTTVersion paho-mqtt3a paho-mqtt3c ${LIBS_SYSTEM})
|
||||
target_link_libraries(paho-mqtt3c ${LIBS_SYSTEM})
|
||||
target_link_libraries(paho-mqtt3a ${LIBS_SYSTEM})
|
||||
target_link_libraries(MQTTVersion paho-mqtt3a paho-mqtt3c ${LIBS_SYSTEM})
|
||||
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3c paho-mqtt3a PROPERTIES
|
||||
set_target_properties(paho-mqtt3c paho-mqtt3a PROPERTIES
|
||||
VERSION ${PROJECT_VERSION}
|
||||
SOVERSION ${PROJECT_VERSION_MAJOR}
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_EXPORTS=1")
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_EXPORTS=1"
|
||||
)
|
||||
|
||||
IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init)
|
||||
ELSEIF (NOT WIN32)
|
||||
SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init)
|
||||
ENDIF()
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
set(MQTTCLIENT_ENTRY_POINT _MQTTClient_init)
|
||||
set(MQTTASYNC_ENTRY_POINT _MQTTAsync_init)
|
||||
elseif(NOT WIN32)
|
||||
set(MQTTCLIENT_ENTRY_POINT MQTTClient_init)
|
||||
set(MQTTASYNC_ENTRY_POINT MQTTAsync_init)
|
||||
endif()
|
||||
|
||||
IF (NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3c PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}")
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3a PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}")
|
||||
ENDIF()
|
||||
if(NOT WIN32)
|
||||
set_target_properties(paho-mqtt3c PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}"
|
||||
)
|
||||
set_target_properties(paho-mqtt3a PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}"
|
||||
)
|
||||
endif()
|
||||
|
||||
FOREACH(TARGET paho-mqtt3c paho-mqtt3a)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
foreach(TARGET paho-mqtt3c paho-mqtt3a)
|
||||
target_include_directories(${TARGET}
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
ENDFOREACH()
|
||||
endforeach()
|
||||
|
||||
INSTALL(TARGETS paho-mqtt3c paho-mqtt3a
|
||||
install(TARGETS paho-mqtt3c paho-mqtt3a
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
INSTALL(TARGETS MQTTVersion
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
ENDIF()
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
|
||||
IF (PAHO_BUILD_STATIC)
|
||||
ADD_LIBRARY(paho-mqtt3c-static STATIC $<TARGET_OBJECTS:common_obj_static> MQTTClient.c)
|
||||
ADD_LIBRARY(paho-mqtt3a-static STATIC $<TARGET_OBJECTS:common_obj_static> MQTTAsync.c MQTTAsyncUtils.c)
|
||||
install(TARGETS MQTTVersion
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3c-static ${LIBS_SYSTEM})
|
||||
TARGET_LINK_LIBRARIES(paho-mqtt3a-static ${LIBS_SYSTEM})
|
||||
IF (NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(paho-mqtt3c-static PROPERTIES OUTPUT_NAME paho-mqtt3c)
|
||||
SET_TARGET_PROPERTIES(paho-mqtt3a-static PROPERTIES OUTPUT_NAME paho-mqtt3a)
|
||||
ENDIF()
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3c-static paho-mqtt3a-static PROPERTIES
|
||||
if(PAHO_BUILD_STATIC)
|
||||
add_library(paho-mqtt3c-static STATIC
|
||||
$<TARGET_OBJECTS:common_obj_static>
|
||||
MQTTClient.c
|
||||
)
|
||||
add_library(paho-mqtt3a-static STATIC
|
||||
$<TARGET_OBJECTS:common_obj_static>
|
||||
MQTTAsync.c
|
||||
MQTTAsyncUtils.c
|
||||
)
|
||||
|
||||
target_link_libraries(paho-mqtt3c-static ${LIBS_SYSTEM})
|
||||
target_link_libraries(paho-mqtt3a-static ${LIBS_SYSTEM})
|
||||
|
||||
if(NOT WIN32)
|
||||
set_target_properties(paho-mqtt3c-static PROPERTIES OUTPUT_NAME paho-mqtt3c)
|
||||
set_target_properties(paho-mqtt3a-static PROPERTIES OUTPUT_NAME paho-mqtt3a)
|
||||
endif()
|
||||
|
||||
set_target_properties(paho-mqtt3c-static paho-mqtt3a-static PROPERTIES
|
||||
VERSION ${PROJECT_VERSION}
|
||||
SOVERSION ${PROJECT_VERSION_MAJOR}
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1")
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1"
|
||||
)
|
||||
|
||||
FOREACH(TARGET paho-mqtt3c-static paho-mqtt3a-static)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
foreach(TARGET paho-mqtt3c-static paho-mqtt3a-static)
|
||||
target_include_directories(${TARGET}
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
ENDFOREACH()
|
||||
endforeach()
|
||||
|
||||
IF (NOT PAHO_BUILD_SHARED)
|
||||
INSTALL(TARGETS paho-mqtt3c-static paho-mqtt3a-static
|
||||
if(NOT PAHO_BUILD_SHARED)
|
||||
install(TARGETS paho-mqtt3c-static paho-mqtt3a-static
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
ELSE()
|
||||
INSTALL(TARGETS paho-mqtt3c-static paho-mqtt3a-static
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
else()
|
||||
install(TARGETS paho-mqtt3c-static paho-mqtt3a-static
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h MQTTReasonCodes.h MQTTSubscribeOpts.h MQTTExportDeclarations.h
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
install(
|
||||
FILES
|
||||
MQTTAsync.h
|
||||
MQTTClient.h
|
||||
MQTTClientPersistence.h
|
||||
MQTTProperties.h
|
||||
MQTTReasonCodes.h
|
||||
MQTTSubscribeOpts.h
|
||||
MQTTExportDeclarations.h
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_INCLUDEDIR}
|
||||
)
|
||||
|
||||
IF (PAHO_WITH_SSL)
|
||||
SET(OPENSSL_ROOT_DIR "" CACHE PATH "Directory containing OpenSSL libraries and includes")
|
||||
if(PAHO_WITH_SSL)
|
||||
set(OPENSSL_ROOT_DIR "" CACHE PATH "Directory containing OpenSSL libraries and includes")
|
||||
find_package(OpenSSL REQUIRED)
|
||||
|
||||
IF (PAHO_BUILD_SHARED)
|
||||
if(PAHO_BUILD_SHARED)
|
||||
## common compilation for libpaho-mqtt3cs and libpaho-mqtt3as
|
||||
## Note: SSL libraries must be recompiled due ifdefs
|
||||
ADD_LIBRARY(common_ssl_obj OBJECT ${common_src})
|
||||
TARGET_INCLUDE_DIRECTORIES(common_ssl_obj PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||
SET_PROPERTY(TARGET common_ssl_obj PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
SET_PROPERTY(TARGET common_ssl_obj PROPERTY COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_EXPORTS=1")
|
||||
## Note: SSL libraries must be recompiled due to ifdefs
|
||||
add_library(common_ssl_obj OBJECT ${common_src})
|
||||
target_include_directories(common_ssl_obj PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||
|
||||
ADD_LIBRARY(paho-mqtt3cs SHARED $<TARGET_OBJECTS:common_ssl_obj> MQTTClient.c SSLSocket.c)
|
||||
ADD_LIBRARY(paho-mqtt3as SHARED $<TARGET_OBJECTS:common_ssl_obj> MQTTAsync.c MQTTAsyncUtils.c SSLSocket.c)
|
||||
set_property(TARGET common_ssl_obj PROPERTY
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
)
|
||||
set_property(TARGET common_ssl_obj PROPERTY
|
||||
COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_EXPORTS=1"
|
||||
)
|
||||
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs paho-mqtt3as PROPERTIES
|
||||
add_library(paho-mqtt3cs SHARED
|
||||
$<TARGET_OBJECTS:common_ssl_obj>
|
||||
MQTTClient.c
|
||||
SSLSocket.c
|
||||
)
|
||||
add_library(paho-mqtt3as SHARED
|
||||
$<TARGET_OBJECTS:common_ssl_obj>
|
||||
MQTTAsync.c
|
||||
MQTTAsyncUtils.c
|
||||
SSLSocket.c
|
||||
)
|
||||
|
||||
set_target_properties(paho-mqtt3cs paho-mqtt3as PROPERTIES
|
||||
VERSION ${PROJECT_VERSION}
|
||||
SOVERSION ${PROJECT_VERSION_MAJOR}
|
||||
COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_EXPORTS=1")
|
||||
COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_EXPORTS=1"
|
||||
)
|
||||
|
||||
IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init)
|
||||
ELSEIF (NOT WIN32)
|
||||
SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init)
|
||||
ENDIF()
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
set(MQTTCLIENT_ENTRY_POINT _MQTTClient_init)
|
||||
set(MQTTASYNC_ENTRY_POINT _MQTTAsync_init)
|
||||
elseif(NOT WIN32)
|
||||
set(MQTTCLIENT_ENTRY_POINT MQTTClient_init)
|
||||
set(MQTTASYNC_ENTRY_POINT MQTTAsync_init)
|
||||
endif()
|
||||
|
||||
IF (NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}")
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3as PROPERTIES
|
||||
if(NOT WIN32)
|
||||
set_target_properties(paho-mqtt3cs PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}"
|
||||
)
|
||||
set_target_properties(paho-mqtt3as PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}")
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
FOREACH(TARGET paho-mqtt3cs paho-mqtt3as)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
foreach(TARGET paho-mqtt3cs paho-mqtt3as)
|
||||
target_include_directories(${TARGET}
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
TARGET_LINK_LIBRARIES(${TARGET}
|
||||
${CMAKE_BINARY_DIR}
|
||||
)
|
||||
target_link_libraries(${TARGET}
|
||||
PUBLIC
|
||||
OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM})
|
||||
ENDFOREACH()
|
||||
INSTALL(TARGETS paho-mqtt3cs paho-mqtt3as
|
||||
OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM}
|
||||
)
|
||||
endforeach()
|
||||
|
||||
install(TARGETS paho-mqtt3cs paho-mqtt3as
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
ENDIF()
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
IF (PAHO_BUILD_STATIC)
|
||||
if(PAHO_BUILD_STATIC)
|
||||
## common compilation for libpaho-mqtt3cs and libpaho-mqtt3as
|
||||
## Note: SSL libraries must be recompiled due ifdefs
|
||||
ADD_LIBRARY(common_ssl_obj_static OBJECT ${common_src})
|
||||
TARGET_INCLUDE_DIRECTORIES(common_ssl_obj_static PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||
SET_PROPERTY(TARGET common_ssl_obj_static PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
SET_PROPERTY(TARGET common_ssl_obj_static PROPERTY COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1")
|
||||
add_library(common_ssl_obj_static OBJECT ${common_src})
|
||||
target_include_directories(common_ssl_obj_static PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||
|
||||
ADD_LIBRARY(paho-mqtt3cs-static STATIC $<TARGET_OBJECTS:common_ssl_obj_static> MQTTClient.c SSLSocket.c)
|
||||
ADD_LIBRARY(paho-mqtt3as-static STATIC $<TARGET_OBJECTS:common_ssl_obj_static> MQTTAsync.c MQTTAsyncUtils.c SSLSocket.c)
|
||||
set_property(TARGET common_ssl_obj_static PROPERTY
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
)
|
||||
set_property(TARGET common_ssl_obj_static PROPERTY
|
||||
COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1"
|
||||
)
|
||||
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs-static paho-mqtt3as-static PROPERTIES
|
||||
add_library(paho-mqtt3cs-static STATIC
|
||||
$<TARGET_OBJECTS:common_ssl_obj_static>
|
||||
MQTTClient.c
|
||||
SSLSocket.c
|
||||
)
|
||||
add_library(paho-mqtt3as-static STATIC
|
||||
$<TARGET_OBJECTS:common_ssl_obj_static>
|
||||
MQTTAsync.c
|
||||
MQTTAsyncUtils.c
|
||||
SSLSocket.c
|
||||
)
|
||||
|
||||
set_target_properties(paho-mqtt3cs-static paho-mqtt3as-static PROPERTIES
|
||||
VERSION ${PROJECT_VERSION}
|
||||
SOVERSION ${PROJECT_VERSION_MAJOR}
|
||||
COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1")
|
||||
IF (NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(paho-mqtt3cs-static PROPERTIES OUTPUT_NAME paho-mqtt3cs)
|
||||
SET_TARGET_PROPERTIES(paho-mqtt3as-static PROPERTIES OUTPUT_NAME paho-mqtt3as)
|
||||
ENDIF()
|
||||
COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1"
|
||||
)
|
||||
|
||||
IF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
SET(MQTTCLIENT_ENTRY_POINT _MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT _MQTTAsync_init)
|
||||
ELSEIF (NOT WIN32)
|
||||
SET(MQTTCLIENT_ENTRY_POINT MQTTClient_init)
|
||||
SET(MQTTASYNC_ENTRY_POINT MQTTAsync_init)
|
||||
ENDIF()
|
||||
if(NOT WIN32)
|
||||
set_target_properties(paho-mqtt3cs-static PROPERTIES OUTPUT_NAME paho-mqtt3cs)
|
||||
set_target_properties(paho-mqtt3as-static PROPERTIES OUTPUT_NAME paho-mqtt3as)
|
||||
endif()
|
||||
|
||||
IF (NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3cs-static PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}")
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho-mqtt3as-static PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}")
|
||||
ENDIF()
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
||||
set(MQTTCLIENT_ENTRY_POINT _MQTTClient_init)
|
||||
set(MQTTASYNC_ENTRY_POINT _MQTTAsync_init)
|
||||
elseif(NOT WIN32)
|
||||
set(MQTTCLIENT_ENTRY_POINT MQTTClient_init)
|
||||
set(MQTTASYNC_ENTRY_POINT MQTTAsync_init)
|
||||
endif()
|
||||
|
||||
IF (NOT PAHO_BUILD_SHARED)
|
||||
INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static
|
||||
if(NOT WIN32)
|
||||
set_target_properties(paho-mqtt3cs-static PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTCLIENT_ENTRY_POINT}"
|
||||
)
|
||||
set_target_properties(paho-mqtt3as-static PROPERTIES
|
||||
LINK_FLAGS "-Wl,-init,${MQTTASYNC_ENTRY_POINT}"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(NOT PAHO_BUILD_SHARED)
|
||||
install(TARGETS paho-mqtt3cs-static paho-mqtt3as-static
|
||||
EXPORT eclipse-paho-mqtt-cTargets
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
ELSE()
|
||||
INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
ENDIF()
|
||||
FOREACH(TARGET paho-mqtt3cs-static paho-mqtt3as-static)
|
||||
TARGET_INCLUDE_DIRECTORIES(${TARGET}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
else()
|
||||
install(TARGETS paho-mqtt3cs-static paho-mqtt3as-static
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
foreach(TARGET paho-mqtt3cs-static paho-mqtt3as-static)
|
||||
target_include_directories(${TARGET}
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
PRIVATE
|
||||
${CMAKE_BINARY_DIR})
|
||||
TARGET_LINK_LIBRARIES(${TARGET}
|
||||
PUBLIC
|
||||
OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM})
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
INSTALL(EXPORT eclipse-paho-mqtt-cTargets
|
||||
target_link_libraries(${TARGET}
|
||||
PUBLIC
|
||||
OpenSSL::SSL OpenSSL::Crypto ${LIBS_SYSTEM}
|
||||
)
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
install(EXPORT eclipse-paho-mqtt-cTargets
|
||||
FILE eclipse-paho-mqtt-cConfig.cmake
|
||||
NAMESPACE eclipse-paho-mqtt-c::
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/eclipse-paho-mqtt-c)
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/eclipse-paho-mqtt-c
|
||||
)
|
||||
|
||||
INCLUDE(CMakePackageConfigHelpers)
|
||||
WRITE_BASIC_PACKAGE_VERSION_FILE("eclipse-paho-mqtt-cConfigVersion.cmake"
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
write_basic_package_version_file("eclipse-paho-mqtt-cConfigVersion.cmake"
|
||||
VERSION ${CLIENT_VERSION}
|
||||
COMPATIBILITY SameMajorVersion)
|
||||
INSTALL(FILES
|
||||
COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
|
||||
install(
|
||||
FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/eclipse-paho-mqtt-cConfigVersion.cmake"
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/eclipse-paho-mqtt-c)
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}/cmake/eclipse-paho-mqtt-c
|
||||
)
|
||||
|
||||
# Base64 test
|
||||
ADD_EXECUTABLE( Base64Test EXCLUDE_FROM_ALL Base64.c Base64.h )
|
||||
TARGET_COMPILE_DEFINITIONS( Base64Test PUBLIC "-DBASE64_TEST" )
|
||||
IF (PAHO_WITH_SSL)
|
||||
ADD_EXECUTABLE( Base64TestOpenSSL EXCLUDE_FROM_ALL Base64.c Base64.h )
|
||||
TARGET_LINK_LIBRARIES( Base64TestOpenSSL OpenSSL::SSL OpenSSL::Crypto)
|
||||
TARGET_COMPILE_DEFINITIONS( Base64TestOpenSSL PUBLIC "-DBASE64_TEST -DOPENSSL=1" )
|
||||
ENDIF (PAHO_WITH_SSL)
|
||||
add_executable(Base64Test EXCLUDE_FROM_ALL Base64.c Base64.h)
|
||||
target_compile_definitions(Base64Test PUBLIC "-DBASE64_TEST")
|
||||
|
||||
if(PAHO_WITH_SSL)
|
||||
add_executable(Base64TestOpenSSL EXCLUDE_FROM_ALL Base64.c Base64.h )
|
||||
target_link_libraries(Base64TestOpenSSL OpenSSL::SSL OpenSSL::Crypto)
|
||||
target_compile_definitions(Base64TestOpenSSL PUBLIC "-DBASE64_TEST -DOPENSSL=1" )
|
||||
endif()
|
||||
|
||||
# SHA1 test
|
||||
ADD_EXECUTABLE( Sha1Test EXCLUDE_FROM_ALL SHA1.c SHA1.h )
|
||||
TARGET_COMPILE_DEFINITIONS( Sha1Test PUBLIC "-DSHA1_TEST" )
|
||||
IF (PAHO_WITH_SSL)
|
||||
ADD_EXECUTABLE( Sha1TestOpenSSL EXCLUDE_FROM_ALL SHA1.c SHA1.h )
|
||||
TARGET_LINK_LIBRARIES( Sha1TestOpenSSL OpenSSL::SSL OpenSSL::Crypto)
|
||||
TARGET_COMPILE_DEFINITIONS( Sha1TestOpenSSL PUBLIC "-DSHA1_TEST -DOPENSSL=1" )
|
||||
ENDIF (PAHO_WITH_SSL)
|
||||
add_executable(Sha1Test EXCLUDE_FROM_ALL SHA1.c SHA1.h)
|
||||
target_compile_definitions(Sha1Test PUBLIC "-DSHA1_TEST")
|
||||
|
||||
if(PAHO_WITH_SSL)
|
||||
add_executable(Sha1TestOpenSSL EXCLUDE_FROM_ALL SHA1.c SHA1.h)
|
||||
target_link_libraries(Sha1TestOpenSSL OpenSSL::SSL OpenSSL::Crypto)
|
||||
target_compile_definitions(Sha1TestOpenSSL PUBLIC "-DSHA1_TEST -DOPENSSL=1" )
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,17 @@
|
|||
/*******************************************************************************
|
||||
* Version information for Eclipse Paho MQTT C.
|
||||
*******************************************************************************/
|
||||
|
||||
#ifndef VERSIONINFO_H
|
||||
#define VERSIONINFO_H
|
||||
|
||||
#define BUILD_TIMESTAMP "@BUILD_TIMESTAMP@"
|
||||
#define CLIENT_VERSION "@CLIENT_VERSION@"
|
||||
#define CLIENT_VERSION "@PROJECT_VERSION@"
|
||||
|
||||
#define PAHO_MQTT_C_VERSION "@PROJECT_VERSION@"
|
||||
|
||||
#define PAHO_MQTT_C_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
|
||||
#define PAHO_MQTT_C_VERSION_MINOR @PROJECT_VERSION_MINOR@
|
||||
#define PAHO_MQTT_C_VERSION_PATCH @PROJECT_VERSION_PATCH@
|
||||
|
||||
#endif /* VERSIONINFO_H */
|
||||
|
|
|
|||
|
|
@ -15,55 +15,52 @@
|
|||
# Ian Craggs - update sample names
|
||||
#*******************************************************************************/
|
||||
|
||||
# Note: on OS X you should install XCode and the associated command-line tools
|
||||
|
||||
## compilation/linkage settings
|
||||
INCLUDE_DIRECTORIES(
|
||||
include_directories(
|
||||
.
|
||||
${PROJECT_SOURCE_DIR}/src
|
||||
${PROJECT_BINARY_DIR}
|
||||
)
|
||||
|
||||
IF (WIN32)
|
||||
ADD_DEFINITIONS(/DCMAKE_BUILD /D_CRT_SECURE_NO_DEPRECATE)
|
||||
ENDIF()
|
||||
if(WIN32)
|
||||
add_definitions(/DCMAKE_BUILD /D_CRT_SECURE_NO_DEPRECATE)
|
||||
endif()
|
||||
|
||||
# sample files c
|
||||
|
||||
IF (PAHO_BUILD_SHARED)
|
||||
ADD_EXECUTABLE(paho_c_pub paho_c_pub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_c_sub paho_c_sub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_cs_pub paho_cs_pub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_cs_sub paho_cs_sub.c pubsub_opts.c)
|
||||
if(PAHO_BUILD_SHARED)
|
||||
foreach(TARGET paho_c_pub paho_c_sub paho_cs_pub paho_cs_sub)
|
||||
add_executable(${TARGET} ${TARGET}.c pubsub_opts.c)
|
||||
set_target_properties(${TARGET} PROPERTIES
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_IMPORTS=1"
|
||||
)
|
||||
endforeach()
|
||||
|
||||
SET_TARGET_PROPERTIES(
|
||||
paho_c_pub paho_c_sub paho_cs_pub paho_cs_sub PROPERTIES
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_IMPORTS=1")
|
||||
target_link_libraries(paho_c_pub paho-mqtt3as)
|
||||
target_link_libraries(paho_c_sub paho-mqtt3as)
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho_c_pub paho-mqtt3as)
|
||||
TARGET_LINK_LIBRARIES(paho_c_sub paho-mqtt3as)
|
||||
TARGET_LINK_LIBRARIES(paho_cs_pub paho-mqtt3cs)
|
||||
TARGET_LINK_LIBRARIES(paho_cs_sub paho-mqtt3cs)
|
||||
target_link_libraries(paho_cs_pub paho-mqtt3cs)
|
||||
target_link_libraries(paho_cs_sub paho-mqtt3cs)
|
||||
|
||||
ADD_EXECUTABLE(MQTTAsync_subscribe MQTTAsync_subscribe.c)
|
||||
ADD_EXECUTABLE(MQTTAsync_publish MQTTAsync_publish.c)
|
||||
ADD_EXECUTABLE(MQTTAsync_publish_time MQTTAsync_publish_time.c)
|
||||
ADD_EXECUTABLE(MQTTClient_subscribe MQTTClient_subscribe.c)
|
||||
ADD_EXECUTABLE(MQTTClient_publish MQTTClient_publish.c)
|
||||
ADD_EXECUTABLE(MQTTClient_publish_async MQTTClient_publish_async.c)
|
||||
foreach(TARGET MQTTAsync_subscribe MQTTAsync_publish MQTTAsync_publish_time
|
||||
MQTTClient_subscribe MQTTClient_publish MQTTClient_publish_async)
|
||||
add_executable(${TARGET} ${TARGET}.c)
|
||||
set_target_properties(${TARGET} PROPERTIES
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_IMPORTS=1"
|
||||
)
|
||||
endforeach()
|
||||
|
||||
SET_TARGET_PROPERTIES(
|
||||
MQTTAsync_subscribe MQTTAsync_publish MQTTAsync_publish_time MQTTClient_subscribe MQTTClient_publish MQTTClient_publish_async PROPERTIES
|
||||
COMPILE_DEFINITIONS "PAHO_MQTT_IMPORTS=1")
|
||||
target_link_libraries(MQTTAsync_subscribe paho-mqtt3a)
|
||||
target_link_libraries(MQTTAsync_publish paho-mqtt3a)
|
||||
target_link_libraries(MQTTAsync_publish_time paho-mqtt3a)
|
||||
|
||||
TARGET_LINK_LIBRARIES(MQTTAsync_subscribe paho-mqtt3a)
|
||||
TARGET_LINK_LIBRARIES(MQTTAsync_publish paho-mqtt3a)
|
||||
TARGET_LINK_LIBRARIES(MQTTAsync_publish_time paho-mqtt3a)
|
||||
TARGET_LINK_LIBRARIES(MQTTClient_subscribe paho-mqtt3c)
|
||||
TARGET_LINK_LIBRARIES(MQTTClient_publish paho-mqtt3c)
|
||||
TARGET_LINK_LIBRARIES(MQTTClient_publish_async paho-mqtt3c)
|
||||
target_link_libraries(MQTTClient_subscribe paho-mqtt3c)
|
||||
target_link_libraries(MQTTClient_publish paho-mqtt3c)
|
||||
target_link_libraries(MQTTClient_publish_async paho-mqtt3c)
|
||||
|
||||
INSTALL(TARGETS paho_c_sub
|
||||
install(
|
||||
TARGETS
|
||||
paho_c_sub
|
||||
paho_c_pub
|
||||
paho_cs_sub
|
||||
paho_cs_pub
|
||||
|
|
@ -75,26 +72,30 @@ INSTALL(TARGETS paho_c_sub
|
|||
MQTTClient_publish_async
|
||||
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
ENDIF()
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
IF (PAHO_BUILD_STATIC)
|
||||
ADD_EXECUTABLE(paho_c_pub_static paho_c_pub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_c_sub_static paho_c_sub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_cs_pub_static paho_cs_pub.c pubsub_opts.c)
|
||||
ADD_EXECUTABLE(paho_cs_sub_static paho_cs_sub.c pubsub_opts.c)
|
||||
if(PAHO_BUILD_STATIC)
|
||||
foreach(TARGET paho_c_pub paho_c_sub paho_cs_pub paho_cs_sub)
|
||||
add_executable(${TARGET}_static ${TARGET}.c pubsub_opts.c)
|
||||
endforeach()
|
||||
|
||||
TARGET_LINK_LIBRARIES(paho_c_pub_static paho-mqtt3as-static)
|
||||
TARGET_LINK_LIBRARIES(paho_c_sub_static paho-mqtt3as-static)
|
||||
TARGET_LINK_LIBRARIES(paho_cs_pub_static paho-mqtt3cs-static)
|
||||
TARGET_LINK_LIBRARIES(paho_cs_sub_static paho-mqtt3cs-static)
|
||||
target_link_libraries(paho_c_pub_static paho-mqtt3as-static)
|
||||
target_link_libraries(paho_c_sub_static paho-mqtt3as-static)
|
||||
|
||||
INSTALL(TARGETS paho_c_sub_static
|
||||
target_link_libraries(paho_cs_pub_static paho-mqtt3cs-static)
|
||||
target_link_libraries(paho_cs_sub_static paho-mqtt3cs-static)
|
||||
|
||||
install(
|
||||
TARGETS
|
||||
paho_c_sub_static
|
||||
paho_c_pub_static
|
||||
paho_cs_sub_static
|
||||
paho_cs_pub_static
|
||||
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
ENDIF()
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
|
|
|||
1184
test/CMakeLists.txt
1184
test/CMakeLists.txt
File diff suppressed because it is too large
Load Diff
|
|
@ -1,5 +1,5 @@
|
|||
cmake_minimum_required(VERSION 3.5)
|
||||
project(test_package C)
|
||||
cmake_minimum_required(VERSION 2.8.11)
|
||||
|
||||
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
|
||||
conan_basic_setup()
|
||||
|
|
|
|||
Loading…
Reference in New Issue