diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2018-03-23 15:04:01 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-03-24 09:16:10 -0700 |
| commit | 0778f2ef8ec87152cc75721cb1d25b7d7db63fe4 (patch) | |
| tree | 0ac966d57fbbc5bb28d9ee19b2ecf44ee1d2288d /ports/azure-iot-sdk-c | |
| parent | 3a91b0072d7500f2be84fe4d6520e8469ba5b5ad (diff) | |
| download | vcpkg-0778f2ef8ec87152cc75721cb1d25b7d7db63fe4.tar.gz vcpkg-0778f2ef8ec87152cc75721cb1d25b7d7db63fe4.zip | |
[parson][azure-uamqp-c][azure-umqtt-c][azure-c-shared-utility][azure-iot-sdk-c] Initial commits
Diffstat (limited to 'ports/azure-iot-sdk-c')
| -rw-r--r-- | ports/azure-iot-sdk-c/CONTROL | 4 | ||||
| -rw-r--r-- | ports/azure-iot-sdk-c/improve-external-deps.patch | 136 | ||||
| -rw-r--r-- | ports/azure-iot-sdk-c/portfile.cmake | 46 |
3 files changed, 186 insertions, 0 deletions
diff --git a/ports/azure-iot-sdk-c/CONTROL b/ports/azure-iot-sdk-c/CONTROL new file mode 100644 index 000000000..9e65dcb26 --- /dev/null +++ b/ports/azure-iot-sdk-c/CONTROL @@ -0,0 +1,4 @@ +Source: azure-iot-sdk-c +Version: 1.2.1 +Build-Depends: azure-uamqp-c, azure-umqtt-c, azure-c-shared-utility, parson +Description: A C99 SDK for connecting devices to Microsoft Azure IoT services diff --git a/ports/azure-iot-sdk-c/improve-external-deps.patch b/ports/azure-iot-sdk-c/improve-external-deps.patch new file mode 100644 index 000000000..5af7ef29e --- /dev/null +++ b/ports/azure-iot-sdk-c/improve-external-deps.patch @@ -0,0 +1,136 @@ +diff --git a/configs/azure_iot_sdksConfig.cmake b/configs/azure_iot_sdksConfig.cmake
+index b9c62e8..edf5847 100644
+--- a/configs/azure_iot_sdksConfig.cmake
++++ b/configs/azure_iot_sdksConfig.cmake
+@@ -1,5 +1,10 @@
+ #Copyright (c) Microsoft. All rights reserved.
+ #Licensed under the MIT license. See LICENSE file in the project root for full license information.
++include(CMakeFindDependencyMacro)
++find_dependency(unofficial-parson)
++find_dependency(uamqp)
++find_dependency(umqtt)
++find_dependency(azure_c_shared_utility)
+
+ include("${CMAKE_CURRENT_LIST_DIR}/azure_iot_sdksTargets.cmake")
+
+diff --git a/dependencies.cmake b/dependencies.cmake
+index 063733a..71bfc7d 100644
+--- a/dependencies.cmake
++++ b/dependencies.cmake
+@@ -18,6 +18,8 @@ if(${use_installed_dependencies})
+ endif()
+ endif()
+
++ find_package(unofficial-parson REQUIRED)
++ link_libraries(unofficial::parson::parson)
+ else()
+ add_subdirectory(c-utility)
+
+diff --git a/iothub_client/CMakeLists.txt b/iothub_client/CMakeLists.txt
+index e6d000a..70ade26 100644
+--- a/iothub_client/CMakeLists.txt
++++ b/iothub_client/CMakeLists.txt
+@@ -24,22 +24,6 @@ set(install_staticlibs
+ iothub_client
+ )
+
+-add_library(parson
+- ../deps/parson/parson.c
+-)
+-
+-if(MSVC)
+- set_source_files_properties(../deps/parson/parson.c PROPERTIES COMPILE_FLAGS "/wd4244 /wd4232")
+-endif()
+-
+-set(install_staticlibs ${install_staticlibs}
+- parson
+-)
+-
+-set(iothub_client_libs ${iothub_client_libs}
+- parson
+-)
+-
+ if(NOT dont_use_uploadtoblob)
+ set(iothub_client_ll_transport_c_files
+ ${iothub_client_ll_transport_c_files}
+diff --git a/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt b/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt
+index 161872a..d53e111 100644
+--- a/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt
++++ b/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt
+@@ -31,12 +31,10 @@ set(${theseTestsName}_nuget_c_files
+
+ set(${theseTestsName}_c_files
+ ../../../certs/certs.c
+- ../../../deps/parson/parson.c
+ )
+
+ set(${theseTestsName}_h_files
+ ../../../certs/certs.h
+- ../../../deps/parson/parson.h
+ ../common_dt_e2e/iothubclient_common_dt_e2e.h
+ )
+
+diff --git a/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt b/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt
+index d472161..b0291e8 100644
+--- a/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt
++++ b/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt
+@@ -31,12 +31,10 @@ set(${theseTestsName}_nuget_c_files
+
+ set(${theseTestsName}_c_files
+ ../../../certs/certs.c
+- ../../../deps/parson/parson.c
+ )
+
+ set(${theseTestsName}_h_files
+ ../../../certs/certs.h
+- ../../../deps/parson/parson.h
+ ../common_dt_e2e/iothubclient_common_dt_e2e.h
+ )
+
+diff --git a/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt b/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt
+index d05d654..5872c8d 100644
+--- a/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt
++++ b/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt
+@@ -31,12 +31,10 @@ set(${theseTestsName}_nuget_c_files
+
+ set(${theseTestsName}_c_files
+ ../../../certs/certs.c
+- ../../../deps/parson/parson.c
+ )
+
+ set(${theseTestsName}_h_files
+ ../../../certs/certs.h
+- ../../../deps/parson/parson.h
+ ../common_dt_e2e/iothubclient_common_dt_e2e.h
+ )
+
+diff --git a/iothub_service_client/CMakeLists.txt b/iothub_service_client/CMakeLists.txt
+index 11a9a9a..4097293 100644
+--- a/iothub_service_client/CMakeLists.txt
++++ b/iothub_service_client/CMakeLists.txt
+@@ -72,9 +72,7 @@ endif()
+ setSdkTargetBuildProperties(iothub_service_client)
+
+ if(NOT ${nuget_e2e_tests})
+- target_link_libraries(iothub_service_client uamqp parson)
+-else()
+- target_link_libraries(iothub_service_client parson)
++ target_link_libraries(iothub_service_client uamqp)
+ endif()
+
+ if (NOT ${ARCHITECTURE} STREQUAL "ARM")
+diff --git a/serializer/CMakeLists.txt b/serializer/CMakeLists.txt
+index 0f6dc74..b4f784c 100644
+--- a/serializer/CMakeLists.txt
++++ b/serializer/CMakeLists.txt
+@@ -87,10 +87,6 @@ else()
+ endif()
+ setSdkTargetBuildProperties(serializer)
+
+-target_link_libraries(serializer
+- parson
+-)
+-
+ if (NOT ${skip_samples})
+ if(WIN32)
+ if (NOT ${ARCHITECTURE} STREQUAL "ARM")
diff --git a/ports/azure-iot-sdk-c/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake new file mode 100644 index 000000000..b60a03286 --- /dev/null +++ b/ports/azure-iot-sdk-c/portfile.cmake @@ -0,0 +1,46 @@ +include(vcpkg_common_functions) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + message("azure-iot-sdk-c only supports static linkage") + set(VCPKG_LIBRARY_LINKAGE "static") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-iot-sdk-c + REF 1.2.1 + SHA512 fd97283adf958d6928eda68fb76d9e5a12ef56440fb349d4feb948516150968bf34f3d1bde3341cc1116beb9ea219b0158462a9e6b89c5f7ccd56eb38d8ed2ab + HEAD_REF master +) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/improve-external-deps.patch +) + +file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -Dskip_samples=ON + -Duse_installed_dependencies=ON + -Duse_default_uuid=ON + -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC} +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/azure_iot_sdks) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL + ${SOURCE_PATH}/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-iot-sdk-c RENAME copyright) + +vcpkg_copy_pdbs() |
