diff options
Diffstat (limited to 'vcpkg/ports/paho-mqtt')
| -rw-r--r-- | vcpkg/ports/paho-mqtt/fix-ODR-libuuid-linux.patch | 30 | ||||
| -rw-r--r-- | vcpkg/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/paho-mqtt/portfile.cmake | 53 | ||||
| -rw-r--r-- | vcpkg/ports/paho-mqtt/vcpkg.json | 22 |
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 + } + ] +} |