-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
154 lines (139 loc) · 6.14 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
#
# file: CMakeLists.txt
#
# This is the main CMakeLists.txt for azure-iot-sdk-c integration with distortos
#
# author: Copyright (C) 2019-2020 Kamil Szczygiel http://www.distortec.com http://www.freddiechopin.info
#
# This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not
# distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
cmake_minimum_required(VERSION 3.8)
project(azure-iot-sdk-c-integration)
cmake_policy(SET CMP0079 NEW)
if(NOT DEFINED AZURE_IOT_SDK_C_DIRECTORY)
message(SEND_ERROR "Variable with path to azure-iot-sdk-c directory - AZURE_IOT_SDK_C_DIRECTORY - is not defined")
endif()
if(NOT IS_DIRECTORY "${AZURE_IOT_SDK_C_DIRECTORY}")
message(SEND_ERROR "Path to azure-iot-sdk-c directory - AZURE_IOT_SDK_C_DIRECTORY = ${AZURE_IOT_SDK_C_DIRECTORY} - "
"is not valid")
endif()
if(NOT EXISTS "${AZURE_IOT_SDK_C_DIRECTORY}/CMakeLists.txt")
message(SEND_ERROR "Path to azure-iot-sdk-c directory - AZURE_IOT_SDK_C_DIRECTORY = ${AZURE_IOT_SDK_C_DIRECTORY} - "
"does not contain CMakeLists.txt")
endif()
set(AZURE_CUSTOM_PLATFORM TRUE)
add_subdirectory("${AZURE_IOT_SDK_C_DIRECTORY}" azure-iot-sdk-c EXCLUDE_FROM_ALL)
add_library(azure-iot-sdk-c-object-library OBJECT
${CMAKE_CURRENT_LIST_DIR}/platform.cpp
${CMAKE_CURRENT_LIST_DIR}/socketio.cpp
${CMAKE_CURRENT_LIST_DIR}/ThreadAPI.cpp
${CMAKE_CURRENT_LIST_DIR}/tickcounter.cpp)
target_include_directories(azure-iot-sdk-c-object-library PRIVATE
$<TARGET_PROPERTY:aziotsharedutil,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_definitions(azure-iot-sdk-c-object-library PRIVATE
$<TARGET_PROPERTY:aziotsharedutil,INTERFACE_COMPILE_DEFINITIONS>)
target_compile_definitions(aziotsharedutil PRIVATE
send=lwip_send
recv=lwip_recv)
target_compile_options(aziotsharedutil PRIVATE
-Wno-type-limits)
target_include_directories(aziotsharedutil INTERFACE
${AZURE_IOT_SDK_C_DIRECTORY}/deps/azure-macro-utils-c/inc
${AZURE_IOT_SDK_C_DIRECTORY}/deps/umock-c/inc)
target_link_libraries(aziotsharedutil
lwipcore)
target_sources(aziotsharedutil PRIVATE
$<TARGET_OBJECTS:azure-iot-sdk-c-object-library>)
if(${use_sample_trusted_cert})
target_include_directories(aziotsharedutil INTERFACE
${AZURE_IOT_SDK_C_DIRECTORY}/certs)
target_sources(aziotsharedutil PRIVATE
${AZURE_IOT_SDK_C_DIRECTORY}/certs/certs.c)
endif()
if(TARGET iothub_client)
target_compile_options(iothub_client PRIVATE
-Wno-type-limits)
target_include_directories(iothub_client INTERFACE
${AZURE_IOT_SDK_C_DIRECTORY}/iothub_client/inc)
endif()
if(TARGET iothub_client_mqtt_transport)
target_compile_definitions(iothub_client_mqtt_transport PRIVATE
mqtt_client_connect=azure_mqtt_client_connect)
target_compile_options(iothub_client_mqtt_transport PRIVATE
-Wno-maybe-uninitialized
-Wno-type-limits)
endif()
if(TARGET iothub_client_mqtt_ws_transport)
target_compile_definitions(iothub_client_mqtt_ws_transport PRIVATE
mqtt_client_connect=azure_mqtt_client_connect)
target_compile_options(iothub_client_mqtt_ws_transport PRIVATE
-Wno-maybe-uninitialized
-Wno-type-limits)
endif()
if(TARGET prov_device_ll_client)
target_include_directories(prov_device_ll_client INTERFACE
${AZURE_IOT_SDK_C_DIRECTORY}/provisioning_client/inc)
endif()
if(TARGET prov_mqtt_transport)
target_compile_definitions(prov_mqtt_transport PRIVATE
mqtt_client_connect=azure_mqtt_client_connect)
endif()
if(TARGET prov_mqtt_ws_transport)
target_compile_definitions(prov_mqtt_ws_transport PRIVATE
mqtt_client_connect=azure_mqtt_client_connect)
endif()
if(TARGET umqtt)
target_compile_definitions(umqtt PRIVATE
mqtt_client_connect=azure_mqtt_client_connect)
target_compile_options(umqtt PRIVATE
-Wno-sign-compare
-Wno-type-limits)
endif()
distortosAppendToSavedConfiguration(build_as_dynamic)
distortosAppendToSavedConfiguration(build_provisioning_service_client)
distortosAppendToSavedConfiguration(build_python)
distortosAppendToSavedConfiguration(build_service_client)
distortosAppendToSavedConfiguration(compileOption_C)
distortosAppendToSavedConfiguration(compileOption_CXX)
distortosAppendToSavedConfiguration(dont_use_uploadtoblob)
distortosAppendToSavedConfiguration(enable_raw_logging)
distortosAppendToSavedConfiguration(hsm_custom_lib)
distortosAppendToSavedConfiguration(hsm_type_custom)
distortosAppendToSavedConfiguration(hsm_type_sastoken)
distortosAppendToSavedConfiguration(hsm_type_symm_key)
distortosAppendToSavedConfiguration(hsm_type_x509)
distortosAppendToSavedConfiguration(linkerOption)
distortosAppendToSavedConfiguration(memory_trace)
distortosAppendToSavedConfiguration(no_logging)
distortosAppendToSavedConfiguration(nuget_e2e_tests)
distortosAppendToSavedConfiguration(OPENSSL_ROOT_DIR)
distortosAppendToSavedConfiguration(run_e2e_tests)
distortosAppendToSavedConfiguration(run_int_tests)
distortosAppendToSavedConfiguration(run_longhaul_tests)
distortosAppendToSavedConfiguration(run_sfc_tests)
distortosAppendToSavedConfiguration(run_unittests)
distortosAppendToSavedConfiguration(run_valgrind)
distortosAppendToSavedConfiguration(skip_samples)
distortosAppendToSavedConfiguration(suppress_header_searches)
distortosAppendToSavedConfiguration(use_amqp)
distortosAppendToSavedConfiguration(use_builtin_httpapi)
distortosAppendToSavedConfiguration(use_condition)
distortosAppendToSavedConfiguration(use_cppunittest)
distortosAppendToSavedConfiguration(use_custom_heap)
distortosAppendToSavedConfiguration(use_default_uuid)
distortosAppendToSavedConfiguration(use_edge_modules)
distortosAppendToSavedConfiguration(use_emulator)
distortosAppendToSavedConfiguration(use_floats)
distortosAppendToSavedConfiguration(use_http)
distortosAppendToSavedConfiguration(use_installed_dependencies)
distortosAppendToSavedConfiguration(use_mbedtls)
distortosAppendToSavedConfiguration(use_mqtt)
distortosAppendToSavedConfiguration(use_openssl)
distortosAppendToSavedConfiguration(use_prov_client)
distortosAppendToSavedConfiguration(use_sample_trusted_cert)
distortosAppendToSavedConfiguration(use_schannel)
distortosAppendToSavedConfiguration(use_socketio)
distortosAppendToSavedConfiguration(use_tpm_simulator)
distortosAppendToSavedConfiguration(use_wolfssl)
distortosAppendToSavedConfiguration(use_wsio)