# Copyright 2020 The Pigweed Authors # # 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 # # https://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. include($ENV{PW_ROOT}/pw_build/pigweed.cmake) include($ENV{PW_ROOT}/pw_protobuf_compiler/proto.cmake) set(dir_pw_third_party_nanopb "" CACHE PATH "Path to the Nanopb installation.") option(pw_third_party_nanopb_ADD_SUBDIRECTORY "Whether to add the dir_pw_third_party_nanopb subdirectory" OFF) if("${dir_pw_third_party_nanopb}" STREQUAL "") return() elseif(pw_third_party_nanopb_ADD_SUBDIRECTORY) add_subdirectory("${dir_pw_third_party_nanopb}" third_party/nanopb) endif() set(nanopb_main_library $,protobuf-nanopb-static,protobuf-nanopb>) add_library(pw_third_party.nanopb INTERFACE) target_link_libraries(pw_third_party.nanopb INTERFACE "${nanopb_main_library}") target_include_directories(pw_third_party.nanopb INTERFACE "${dir_pw_third_party_nanopb}" ) pw_proto_library(pw_third_party.nanopb.proto SOURCES "${dir_pw_third_party_nanopb}/generator/proto/nanopb.proto" STRIP_PREFIX "${dir_pw_third_party_nanopb}/generator/proto" ) # Generates nanopb_pb2.py, which is needed to compile protobufs with Nanopb. add_custom_command( COMMAND python3 "${CMAKE_CURRENT_LIST_DIR}/generate_nanopb_proto.py" "${dir_pw_third_party_nanopb}" OUTPUT "${dir_pw_third_party_nanopb}/generator/proto/nanopb_pb2.py" ) add_custom_target(pw_third_party.nanopb.generate_proto DEPENDS "${dir_pw_third_party_nanopb}/generator/proto/nanopb_pb2.py" )