# # Copyright 2009-2017 Alibaba Cloud All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include) set(iot_public_header include/alibabacloud/iot/IotClient.h include/alibabacloud/iot/IotExport.h ) set(iot_public_header_model include/alibabacloud/iot/model/QueryAppDeviceListRequest.h include/alibabacloud/iot/model/QueryAppDeviceListResult.h include/alibabacloud/iot/model/DeleteTopicRouteTableRequest.h include/alibabacloud/iot/model/DeleteTopicRouteTableResult.h include/alibabacloud/iot/model/QueryDeviceGroupListRequest.h include/alibabacloud/iot/model/QueryDeviceGroupListResult.h include/alibabacloud/iot/model/SetDeviceGroupTagsRequest.h include/alibabacloud/iot/model/SetDeviceGroupTagsResult.h include/alibabacloud/iot/model/QueryDeviceEventDataRequest.h include/alibabacloud/iot/model/QueryDeviceEventDataResult.h include/alibabacloud/iot/model/QueryDeviceByTagsRequest.h include/alibabacloud/iot/model/QueryDeviceByTagsResult.h include/alibabacloud/iot/model/GetDeviceStatusRequest.h include/alibabacloud/iot/model/GetDeviceStatusResult.h include/alibabacloud/iot/model/DeleteDeviceRequest.h include/alibabacloud/iot/model/DeleteDeviceResult.h include/alibabacloud/iot/model/CreateDeviceGroupRequest.h include/alibabacloud/iot/model/CreateDeviceGroupResult.h include/alibabacloud/iot/model/EnableThingRequest.h include/alibabacloud/iot/model/EnableThingResult.h include/alibabacloud/iot/model/RRpcRequest.h include/alibabacloud/iot/model/RRpcResult.h include/alibabacloud/iot/model/DeleteRuleRequest.h include/alibabacloud/iot/model/DeleteRuleResult.h include/alibabacloud/iot/model/QueryProductTopicRequest.h include/alibabacloud/iot/model/QueryProductTopicResult.h include/alibabacloud/iot/model/GetThingTopoRequest.h include/alibabacloud/iot/model/GetThingTopoResult.h include/alibabacloud/iot/model/QueryPageByApplyIdRequest.h include/alibabacloud/iot/model/QueryPageByApplyIdResult.h include/alibabacloud/iot/model/CreateTopicRouteTableRequest.h include/alibabacloud/iot/model/CreateTopicRouteTableResult.h include/alibabacloud/iot/model/CreateProductRequest.h include/alibabacloud/iot/model/CreateProductResult.h include/alibabacloud/iot/model/UpdateRuleRequest.h include/alibabacloud/iot/model/UpdateRuleResult.h include/alibabacloud/iot/model/QueryDevicePropertyDataRequest.h include/alibabacloud/iot/model/QueryDevicePropertyDataResult.h include/alibabacloud/iot/model/UpdateDeviceGroupRequest.h include/alibabacloud/iot/model/UpdateDeviceGroupResult.h include/alibabacloud/iot/model/DeleteDeviceGroupRequest.h include/alibabacloud/iot/model/DeleteDeviceGroupResult.h include/alibabacloud/iot/model/QueryDevicePropRequest.h include/alibabacloud/iot/model/QueryDevicePropResult.h include/alibabacloud/iot/model/DeleteDevicePropRequest.h include/alibabacloud/iot/model/DeleteDevicePropResult.h include/alibabacloud/iot/model/StopRuleRequest.h include/alibabacloud/iot/model/StopRuleResult.h include/alibabacloud/iot/model/QueryDeviceGroupByDeviceRequest.h include/alibabacloud/iot/model/QueryDeviceGroupByDeviceResult.h include/alibabacloud/iot/model/QueryDeviceDetailRequest.h include/alibabacloud/iot/model/QueryDeviceDetailResult.h include/alibabacloud/iot/model/NotifyAddThingTopoRequest.h include/alibabacloud/iot/model/NotifyAddThingTopoResult.h include/alibabacloud/iot/model/InvokeThingServiceRequest.h include/alibabacloud/iot/model/InvokeThingServiceResult.h include/alibabacloud/iot/model/ListRuleActionsRequest.h include/alibabacloud/iot/model/ListRuleActionsResult.h include/alibabacloud/iot/model/BatchCheckDeviceNamesRequest.h include/alibabacloud/iot/model/BatchCheckDeviceNamesResult.h include/alibabacloud/iot/model/UpdateProductTopicRequest.h include/alibabacloud/iot/model/UpdateProductTopicResult.h include/alibabacloud/iot/model/UpdateRuleActionRequest.h include/alibabacloud/iot/model/UpdateRuleActionResult.h include/alibabacloud/iot/model/UpdateProductRequest.h include/alibabacloud/iot/model/UpdateProductResult.h include/alibabacloud/iot/model/QueryProductRequest.h include/alibabacloud/iot/model/QueryProductResult.h include/alibabacloud/iot/model/UpdateDeviceShadowRequest.h include/alibabacloud/iot/model/UpdateDeviceShadowResult.h include/alibabacloud/iot/model/QueryBatchRegisterDeviceStatusRequest.h include/alibabacloud/iot/model/QueryBatchRegisterDeviceStatusResult.h include/alibabacloud/iot/model/SetDevicePropertyRequest.h include/alibabacloud/iot/model/SetDevicePropertyResult.h include/alibabacloud/iot/model/RegisterDeviceRequest.h include/alibabacloud/iot/model/RegisterDeviceResult.h include/alibabacloud/iot/model/QueryDeviceRequest.h include/alibabacloud/iot/model/QueryDeviceResult.h include/alibabacloud/iot/model/BatchDeleteDeviceGroupRelationsRequest.h include/alibabacloud/iot/model/BatchDeleteDeviceGroupRelationsResult.h include/alibabacloud/iot/model/InvokeThingsServiceRequest.h include/alibabacloud/iot/model/InvokeThingsServiceResult.h include/alibabacloud/iot/model/QueryDeviceGroupTagListRequest.h include/alibabacloud/iot/model/QueryDeviceGroupTagListResult.h include/alibabacloud/iot/model/ListRuleRequest.h include/alibabacloud/iot/model/ListRuleResult.h include/alibabacloud/iot/model/QueryTopicRouteTableRequest.h include/alibabacloud/iot/model/QueryTopicRouteTableResult.h include/alibabacloud/iot/model/CreateRuleRequest.h include/alibabacloud/iot/model/CreateRuleResult.h include/alibabacloud/iot/model/StartRuleRequest.h include/alibabacloud/iot/model/StartRuleResult.h include/alibabacloud/iot/model/QueryProductListRequest.h include/alibabacloud/iot/model/QueryProductListResult.h include/alibabacloud/iot/model/QueryDevicePropertyStatusRequest.h include/alibabacloud/iot/model/QueryDevicePropertyStatusResult.h include/alibabacloud/iot/model/QueryDeviceStatisticsRequest.h include/alibabacloud/iot/model/QueryDeviceStatisticsResult.h include/alibabacloud/iot/model/PubRequest.h include/alibabacloud/iot/model/PubResult.h include/alibabacloud/iot/model/DeleteProductRequest.h include/alibabacloud/iot/model/DeleteProductResult.h include/alibabacloud/iot/model/SaveDevicePropRequest.h include/alibabacloud/iot/model/SaveDevicePropResult.h include/alibabacloud/iot/model/DeleteProductTopicRequest.h include/alibabacloud/iot/model/DeleteProductTopicResult.h include/alibabacloud/iot/model/QueryDeviceServiceDataRequest.h include/alibabacloud/iot/model/QueryDeviceServiceDataResult.h include/alibabacloud/iot/model/BatchRegisterDeviceWithApplyIdRequest.h include/alibabacloud/iot/model/BatchRegisterDeviceWithApplyIdResult.h include/alibabacloud/iot/model/DisableThingRequest.h include/alibabacloud/iot/model/DisableThingResult.h include/alibabacloud/iot/model/CreateProductTopicRequest.h include/alibabacloud/iot/model/CreateProductTopicResult.h include/alibabacloud/iot/model/RemoveThingTopoRequest.h include/alibabacloud/iot/model/RemoveThingTopoResult.h include/alibabacloud/iot/model/QueryTopicReverseRouteTableRequest.h include/alibabacloud/iot/model/QueryTopicReverseRouteTableResult.h include/alibabacloud/iot/model/BatchGetDeviceStateRequest.h include/alibabacloud/iot/model/BatchGetDeviceStateResult.h include/alibabacloud/iot/model/GetRuleActionRequest.h include/alibabacloud/iot/model/GetRuleActionResult.h include/alibabacloud/iot/model/BatchAddDeviceGroupRelationsRequest.h include/alibabacloud/iot/model/BatchAddDeviceGroupRelationsResult.h include/alibabacloud/iot/model/GetRuleRequest.h include/alibabacloud/iot/model/GetRuleResult.h include/alibabacloud/iot/model/GetDeviceShadowRequest.h include/alibabacloud/iot/model/GetDeviceShadowResult.h include/alibabacloud/iot/model/SetDevicesPropertyRequest.h include/alibabacloud/iot/model/SetDevicesPropertyResult.h include/alibabacloud/iot/model/GetGatewayBySubDeviceRequest.h include/alibabacloud/iot/model/GetGatewayBySubDeviceResult.h include/alibabacloud/iot/model/CreateRuleActionRequest.h include/alibabacloud/iot/model/CreateRuleActionResult.h include/alibabacloud/iot/model/QueryDeviceGroupInfoRequest.h include/alibabacloud/iot/model/QueryDeviceGroupInfoResult.h include/alibabacloud/iot/model/BatchRegisterDeviceRequest.h include/alibabacloud/iot/model/BatchRegisterDeviceResult.h include/alibabacloud/iot/model/DeleteRuleActionRequest.h include/alibabacloud/iot/model/DeleteRuleActionResult.h include/alibabacloud/iot/model/PubBroadcastRequest.h include/alibabacloud/iot/model/PubBroadcastResult.h ) set(iot_src src/IotClient.cc src/model/QueryAppDeviceListRequest.cc src/model/QueryAppDeviceListResult.cc src/model/DeleteTopicRouteTableRequest.cc src/model/DeleteTopicRouteTableResult.cc src/model/QueryDeviceGroupListRequest.cc src/model/QueryDeviceGroupListResult.cc src/model/SetDeviceGroupTagsRequest.cc src/model/SetDeviceGroupTagsResult.cc src/model/QueryDeviceEventDataRequest.cc src/model/QueryDeviceEventDataResult.cc src/model/QueryDeviceByTagsRequest.cc src/model/QueryDeviceByTagsResult.cc src/model/GetDeviceStatusRequest.cc src/model/GetDeviceStatusResult.cc src/model/DeleteDeviceRequest.cc src/model/DeleteDeviceResult.cc src/model/CreateDeviceGroupRequest.cc src/model/CreateDeviceGroupResult.cc src/model/EnableThingRequest.cc src/model/EnableThingResult.cc src/model/RRpcRequest.cc src/model/RRpcResult.cc src/model/DeleteRuleRequest.cc src/model/DeleteRuleResult.cc src/model/QueryProductTopicRequest.cc src/model/QueryProductTopicResult.cc src/model/GetThingTopoRequest.cc src/model/GetThingTopoResult.cc src/model/QueryPageByApplyIdRequest.cc src/model/QueryPageByApplyIdResult.cc src/model/CreateTopicRouteTableRequest.cc src/model/CreateTopicRouteTableResult.cc src/model/CreateProductRequest.cc src/model/CreateProductResult.cc src/model/UpdateRuleRequest.cc src/model/UpdateRuleResult.cc src/model/QueryDevicePropertyDataRequest.cc src/model/QueryDevicePropertyDataResult.cc src/model/UpdateDeviceGroupRequest.cc src/model/UpdateDeviceGroupResult.cc src/model/DeleteDeviceGroupRequest.cc src/model/DeleteDeviceGroupResult.cc src/model/QueryDevicePropRequest.cc src/model/QueryDevicePropResult.cc src/model/DeleteDevicePropRequest.cc src/model/DeleteDevicePropResult.cc src/model/StopRuleRequest.cc src/model/StopRuleResult.cc src/model/QueryDeviceGroupByDeviceRequest.cc src/model/QueryDeviceGroupByDeviceResult.cc src/model/QueryDeviceDetailRequest.cc src/model/QueryDeviceDetailResult.cc src/model/NotifyAddThingTopoRequest.cc src/model/NotifyAddThingTopoResult.cc src/model/InvokeThingServiceRequest.cc src/model/InvokeThingServiceResult.cc src/model/ListRuleActionsRequest.cc src/model/ListRuleActionsResult.cc src/model/BatchCheckDeviceNamesRequest.cc src/model/BatchCheckDeviceNamesResult.cc src/model/UpdateProductTopicRequest.cc src/model/UpdateProductTopicResult.cc src/model/UpdateRuleActionRequest.cc src/model/UpdateRuleActionResult.cc src/model/UpdateProductRequest.cc src/model/UpdateProductResult.cc src/model/QueryProductRequest.cc src/model/QueryProductResult.cc src/model/UpdateDeviceShadowRequest.cc src/model/UpdateDeviceShadowResult.cc src/model/QueryBatchRegisterDeviceStatusRequest.cc src/model/QueryBatchRegisterDeviceStatusResult.cc src/model/SetDevicePropertyRequest.cc src/model/SetDevicePropertyResult.cc src/model/RegisterDeviceRequest.cc src/model/RegisterDeviceResult.cc src/model/QueryDeviceRequest.cc src/model/QueryDeviceResult.cc src/model/BatchDeleteDeviceGroupRelationsRequest.cc src/model/BatchDeleteDeviceGroupRelationsResult.cc src/model/InvokeThingsServiceRequest.cc src/model/InvokeThingsServiceResult.cc src/model/QueryDeviceGroupTagListRequest.cc src/model/QueryDeviceGroupTagListResult.cc src/model/ListRuleRequest.cc src/model/ListRuleResult.cc src/model/QueryTopicRouteTableRequest.cc src/model/QueryTopicRouteTableResult.cc src/model/CreateRuleRequest.cc src/model/CreateRuleResult.cc src/model/StartRuleRequest.cc src/model/StartRuleResult.cc src/model/QueryProductListRequest.cc src/model/QueryProductListResult.cc src/model/QueryDevicePropertyStatusRequest.cc src/model/QueryDevicePropertyStatusResult.cc src/model/QueryDeviceStatisticsRequest.cc src/model/QueryDeviceStatisticsResult.cc src/model/PubRequest.cc src/model/PubResult.cc src/model/DeleteProductRequest.cc src/model/DeleteProductResult.cc src/model/SaveDevicePropRequest.cc src/model/SaveDevicePropResult.cc src/model/DeleteProductTopicRequest.cc src/model/DeleteProductTopicResult.cc src/model/QueryDeviceServiceDataRequest.cc src/model/QueryDeviceServiceDataResult.cc src/model/BatchRegisterDeviceWithApplyIdRequest.cc src/model/BatchRegisterDeviceWithApplyIdResult.cc src/model/DisableThingRequest.cc src/model/DisableThingResult.cc src/model/CreateProductTopicRequest.cc src/model/CreateProductTopicResult.cc src/model/RemoveThingTopoRequest.cc src/model/RemoveThingTopoResult.cc src/model/QueryTopicReverseRouteTableRequest.cc src/model/QueryTopicReverseRouteTableResult.cc src/model/BatchGetDeviceStateRequest.cc src/model/BatchGetDeviceStateResult.cc src/model/GetRuleActionRequest.cc src/model/GetRuleActionResult.cc src/model/BatchAddDeviceGroupRelationsRequest.cc src/model/BatchAddDeviceGroupRelationsResult.cc src/model/GetRuleRequest.cc src/model/GetRuleResult.cc src/model/GetDeviceShadowRequest.cc src/model/GetDeviceShadowResult.cc src/model/SetDevicesPropertyRequest.cc src/model/SetDevicesPropertyResult.cc src/model/GetGatewayBySubDeviceRequest.cc src/model/GetGatewayBySubDeviceResult.cc src/model/CreateRuleActionRequest.cc src/model/CreateRuleActionResult.cc src/model/QueryDeviceGroupInfoRequest.cc src/model/QueryDeviceGroupInfoResult.cc src/model/BatchRegisterDeviceRequest.cc src/model/BatchRegisterDeviceResult.cc src/model/DeleteRuleActionRequest.cc src/model/DeleteRuleActionResult.cc src/model/PubBroadcastRequest.cc src/model/PubBroadcastResult.cc ) add_library(iot ${LIB_TYPE} ${iot_public_header} ${iot_public_header_model} ${iot_src}) set_target_properties(iot PROPERTIES LINKER_LANGUAGE CXX ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}iot ) if(${LIB_TYPE} STREQUAL "SHARED") set_target_properties(iot PROPERTIES DEFINE_SYMBOL ALIBABACLOUD_IOT_LIBRARY) endif() target_include_directories(iot PRIVATE include ${CMAKE_SOURCE_DIR}/core/include ) target_link_libraries(iot core) if(CMAKE_HOST_WIN32) ExternalProject_Get_Property(jsoncpp INSTALL_DIR) set(jsoncpp_install_dir ${INSTALL_DIR}) add_dependencies(iot jsoncpp) target_include_directories(iot PRIVATE ${jsoncpp_install_dir}/include) target_link_libraries(iot ${jsoncpp_install_dir}/lib/jsoncpp.lib) set_target_properties(iot PROPERTIES COMPILE_OPTIONS "/bigobj") else() target_include_directories(iot PRIVATE /usr/include/jsoncpp) target_link_libraries(iot jsoncpp) endif() install(FILES ${iot_public_header} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/iot) install(FILES ${iot_public_header_model} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/iot/model) install(TARGETS iot ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )