aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/paho-mqtt
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/paho-mqtt')
-rw-r--r--vcpkg/ports/paho-mqtt/fix-ODR-libuuid-linux.patch30
-rw-r--r--vcpkg/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch13
-rw-r--r--vcpkg/ports/paho-mqtt/portfile.cmake53
-rw-r--r--vcpkg/ports/paho-mqtt/vcpkg.json22
4 files changed, 118 insertions, 0 deletions
diff --git a/vcpkg/ports/paho-mqtt/fix-ODR-libuuid-linux.patch b/vcpkg/ports/paho-mqtt/fix-ODR-libuuid-linux.patch
new file mode 100644
index 0000000..c93af28
--- /dev/null
+++ b/vcpkg/ports/paho-mqtt/fix-ODR-libuuid-linux.patch
@@ -0,0 +1,30 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 16382c1..7e14ab3 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -98,6 +98,12 @@ endif()
+ if(PAHO_BUILD_STATIC)
+ add_library(common_obj_static OBJECT ${common_src})
+ set_target_properties(common_obj_static PROPERTIES POSITION_INDEPENDENT_CODE ON)
++ IF(WIN32 OR APPLE)
++ ELSE()
++ find_package(unofficial-libuuid CONFIG REQUIRED)
++ target_link_libraries(common_obj_static PRIVATE unofficial::UUID::uuid)
++ target_compile_definitions(common_obj_static PUBLIC LIBUUID)
++ ENDIF()
+ target_compile_definitions(common_obj_static PRIVATE PAHO_MQTT_STATIC=1)
+ endif()
+
+@@ -317,6 +323,12 @@ if(PAHO_WITH_SSL OR PAHO_WITH_LIBRESSL)
+ target_include_directories(common_ssl_obj_static PUBLIC ${SSL_INCLUDE_DIR})
+
+ set_property(TARGET common_ssl_obj_static PROPERTY POSITION_INDEPENDENT_CODE ON)
++ IF(WIN32 OR APPLE)
++ ELSE()
++ find_package(unofficial-libuuid CONFIG REQUIRED)
++ target_link_libraries(common_ssl_obj_static PRIVATE unofficial::UUID::uuid)
++ target_compile_definitions(common_ssl_obj_static PUBLIC LIBUUID)
++ ENDIF()
+ target_compile_definitions(common_ssl_obj_static PRIVATE OPENSSL=1 PAHO_MQTT_STATIC=1)
+
+ add_library(paho-mqtt3cs-static STATIC
diff --git a/vcpkg/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch b/vcpkg/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch
new file mode 100644
index 0000000..26ce505
--- /dev/null
+++ b/vcpkg/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch
@@ -0,0 +1,13 @@
+diff --git a/src/SHA1.c b/src/SHA1.c
+index 5c4c349..59fd5c2 100644
+--- a/src/SHA1.c
++++ b/src/SHA1.c
+@@ -18,7 +18,7 @@
+
+ #if !defined(OPENSSL)
+ #if defined(_WIN32)
+-#pragma comment(lib, "crypt32.lib")
++#pragma comment(lib, "Advapi32.lib")
+
+ int SHA1_Init(SHA_CTX *c)
+ {
diff --git a/vcpkg/ports/paho-mqtt/portfile.cmake b/vcpkg/ports/paho-mqtt/portfile.cmake
new file mode 100644
index 0000000..c5e5910
--- /dev/null
+++ b/vcpkg/ports/paho-mqtt/portfile.cmake
@@ -0,0 +1,53 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO eclipse/paho.mqtt.c
+ REF "v${VERSION}"
+ SHA512 e2c47485624f47a895aeeb4f978dd8d98fefca1c8caf9512a2adc03d0bf3c0c2225ab3f96a6ad3513f6df1976e52645248666308c42f05ce25fc8d0980947d28
+ HEAD_REF master
+ PATCHES
+ fix-unresolvedsymbol-arm.patch
+ fix-ODR-libuuid-linux.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAHO_BUILD_STATIC)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PAHO_BUILD_DYNAMIC)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DPAHO_WITH_SSL=TRUE
+ -DPAHO_HIGH_PERFORMANCE=TRUE
+ -DPAHO_BUILD_SHARED=${PAHO_BUILD_DYNAMIC}
+ -DPAHO_BUILD_STATIC=${PAHO_BUILD_STATIC}
+ -DPAHO_ENABLE_TESTING=FALSE
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(PACKAGE_NAME eclipse-paho-mqtt-c CONFIG_PATH lib/cmake/eclipse-paho-mqtt-c)
+vcpkg_copy_pdbs()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ vcpkg_copy_tools(TOOL_NAMES MQTTVersion AUTO_CLEAN)
+endif()
+
+if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX)
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/eclipse-paho-mqtt-c/eclipse-paho-mqtt-cConfig.cmake"
+ [[# Generated by CMake]]
+ [[# Generated by CMake
+ include(CMakeFindDependencyMacro)
+ find_dependency(OpenSSL)]]
+ )
+else()
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/eclipse-paho-mqtt-c/eclipse-paho-mqtt-cConfig.cmake"
+ [[# Generated by CMake]]
+ [[# Generated by CMake
+ include(CMakeFindDependencyMacro)
+ find_dependency(OpenSSL)
+ find_dependency(unofficial-libuuid CONFIG)]]
+ )
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/paho-mqtt/vcpkg.json b/vcpkg/ports/paho-mqtt/vcpkg.json
new file mode 100644
index 0000000..7c929ce
--- /dev/null
+++ b/vcpkg/ports/paho-mqtt/vcpkg.json
@@ -0,0 +1,22 @@
+{
+ "name": "paho-mqtt",
+ "version": "1.3.15",
+ "description": "Paho project provides open-source client implementations of MQTT and MQTT-SN messaging protocols aimed at new, existing, and emerging applications for the Internet of Things",
+ "homepage": "https://github.com/eclipse/paho.mqtt.c",
+ "license": "EPL-2.0",
+ "dependencies": [
+ {
+ "name": "libuuid",
+ "platform": "!osx & !windows"
+ },
+ "openssl",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}