1*cf78ab8cSAndroid Build Coastguard Worker# Copyright 2022 The Android Open Source Project 2*cf78ab8cSAndroid Build Coastguard Worker# 3*cf78ab8cSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*cf78ab8cSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*cf78ab8cSAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*cf78ab8cSAndroid Build Coastguard Worker# 7*cf78ab8cSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*cf78ab8cSAndroid Build Coastguard Worker# 9*cf78ab8cSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*cf78ab8cSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*cf78ab8cSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*cf78ab8cSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*cf78ab8cSAndroid Build Coastguard Worker# limitations under the License. 14*cf78ab8cSAndroid Build Coastguard Worker 15*cf78ab8cSAndroid Build Coastguard Workercmake_minimum_required(VERSION 3.5) 16*cf78ab8cSAndroid Build Coastguard Worker 17*cf78ab8cSAndroid Build Coastguard Workerset(ROOTCANAL_PROTO_DIR 18*cf78ab8cSAndroid Build Coastguard Worker ${AOSP_ROOT}/packages/modules/Bluetooth/tools/rootcanal/proto) 19*cf78ab8cSAndroid Build Coastguard Worker 20*cf78ab8cSAndroid Build Coastguard Worker# For netsimd (netsimd-proto-lib) 21*cf78ab8cSAndroid Build Coastguard Workerprotobuf_generate_grpc_cpp( 22*cf78ab8cSAndroid Build Coastguard Worker SOURCE_DIR ${ROOTCANAL_PROTO_DIR} SOURCES rootcanal/configuration.proto 23*cf78ab8cSAndroid Build Coastguard Worker OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} GENERATED ROOTCANAL_PROTO_SRC) 24*cf78ab8cSAndroid Build Coastguard Worker 25*cf78ab8cSAndroid Build Coastguard Worker# For netsimd (netsimd-proto-lib) 26*cf78ab8cSAndroid Build Coastguard Workerprotobuf_generate_grpc_cpp( 27*cf78ab8cSAndroid Build Coastguard Worker SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR} 28*cf78ab8cSAndroid Build Coastguard Worker SOURCES netsim/common.proto netsim/config.proto netsim/hci_packet.proto 29*cf78ab8cSAndroid Build Coastguard Worker netsim/model.proto netsim/startup.proto netsim/stats.proto 30*cf78ab8cSAndroid Build Coastguard Worker INCLUDES ${ROOTCANAL_PROTO_DIR} 31*cf78ab8cSAndroid Build Coastguard Worker OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} 32*cf78ab8cSAndroid Build Coastguard Worker GENERATED NETSIM_PROTO_SRC) 33*cf78ab8cSAndroid Build Coastguard Worker 34*cf78ab8cSAndroid Build Coastguard Workerandroid_add_library( 35*cf78ab8cSAndroid Build Coastguard Worker TARGET netsimd-proto-lib LICENSE Apache-2.0 SRC ${NETSIM_PROTO_SRC} 36*cf78ab8cSAndroid Build Coastguard Worker ${ROOTCANAL_PROTO_SRC} 37*cf78ab8cSAndroid Build Coastguard Worker DEPS grpc++ protobuf::libprotobuf) 38*cf78ab8cSAndroid Build Coastguard Worker 39*cf78ab8cSAndroid Build Coastguard Workertarget_include_directories(netsimd-proto-lib PRIVATE ${PROTOBUF_INCLUDE_DIR} .. 40*cf78ab8cSAndroid Build Coastguard Worker PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) 41*cf78ab8cSAndroid Build Coastguard Worker 42*cf78ab8cSAndroid Build Coastguard Worker# For netsim-cli (netsim-cli-proto-lib) 43*cf78ab8cSAndroid Build Coastguard Workerprotobuf_generate_grpc_cpp( 44*cf78ab8cSAndroid Build Coastguard Worker SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR} SOURCES netsim/frontend.proto 45*cf78ab8cSAndroid Build Coastguard Worker INCLUDES ${ROOTCANAL_PROTO_DIR} OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} 46*cf78ab8cSAndroid Build Coastguard Worker GENERATED NETSIM_FRONTEND_GRPC_SRC) 47*cf78ab8cSAndroid Build Coastguard Worker 48*cf78ab8cSAndroid Build Coastguard Workerandroid_add_library( 49*cf78ab8cSAndroid Build Coastguard Worker TARGET netsim-cli-proto-lib LICENSE Apache-2.0 SRC ${NETSIM_FRONTEND_GRPC_SRC} 50*cf78ab8cSAndroid Build Coastguard Worker DEPS grpc++ netsimd-proto-lib protobuf::libprotobuf) 51*cf78ab8cSAndroid Build Coastguard Worker 52*cf78ab8cSAndroid Build Coastguard Workertarget_include_directories( 53*cf78ab8cSAndroid Build Coastguard Worker netsim-cli-proto-lib PRIVATE ${PROTOBUF_INCLUDE_DIR} .. 54*cf78ab8cSAndroid Build Coastguard Worker PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) 55*cf78ab8cSAndroid Build Coastguard Worker 56*cf78ab8cSAndroid Build Coastguard Worker# For network packet streamer client (packet-streamer-proto-lib) 57*cf78ab8cSAndroid Build Coastguard Workerprotobuf_generate_grpc_cpp( 58*cf78ab8cSAndroid Build Coastguard Worker SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR} SOURCES netsim/packet_streamer.proto 59*cf78ab8cSAndroid Build Coastguard Worker OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} INCLUDES ${ROOTCANAL_PROTO_DIR} 60*cf78ab8cSAndroid Build Coastguard Worker GENERATED NETSIM_PACKET_STREAMER_GRPC_SRC) 61*cf78ab8cSAndroid Build Coastguard Worker 62*cf78ab8cSAndroid Build Coastguard Workerandroid_add_library( 63*cf78ab8cSAndroid Build Coastguard Worker TARGET packet-streamer-proto-lib LICENSE Apache-2.0 64*cf78ab8cSAndroid Build Coastguard Worker SRC ${NETSIM_PACKET_STREAMER_GRPC_SRC} DEPS grpc++ netsimd-proto-lib 65*cf78ab8cSAndroid Build Coastguard Worker protobuf::libprotobuf) 66*cf78ab8cSAndroid Build Coastguard Worker 67*cf78ab8cSAndroid Build Coastguard Workertarget_include_directories( 68*cf78ab8cSAndroid Build Coastguard Worker packet-streamer-proto-lib PRIVATE ${PROTOBUF_INCLUDE_DIR} .. 69*cf78ab8cSAndroid Build Coastguard Worker PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) 70*cf78ab8cSAndroid Build Coastguard Worker 71*cf78ab8cSAndroid Build Coastguard Workerandroid_license(TARGET "packet-streamer-proto-lib" LIBNAME None SPDX None 72*cf78ab8cSAndroid Build Coastguard Worker LICENSE None LOCAL None) 73*cf78ab8cSAndroid Build Coastguard Workerandroid_license(TARGET "netsim-cli-proto-lib" LIBNAME None SPDX None 74*cf78ab8cSAndroid Build Coastguard Worker LICENSE None LOCAL None) 75