Файлы * .pb.h и * .pb.cc protobuf не генерируются - PullRequest
0 голосов
/ 27 августа 2018

Я использую protobuf_generate_cpp () для генерации файлов * .cc и * .h из файла * .proto, но он не выполняется. Я не получаю никаких сообщений об ошибках, строки просто пропущены. Файл CMakeLists.txt выглядит примерно так:

cmake_minimum_required(VERSION 3.1.2)
cmake_policy(SET CMP0028 NEW)    

project(ProjectName CXX C)

execute_process(COMMAND conan install . WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY})
include(conanbuildinfo.cmake)
conan_basic_setup(TARGETS)

find_package(Protobuf REQUIRED)

protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS /path/to/NAME.proto)

add_custom_command(
    OUTPUT NAME.pbs.h
    OUTPUT NAME.pbs.cc
    DEPENDS NAME.proto
    COMMAND protoc --cpp_out=$(CMAKE_BINARY_SOURCE_DIR) --proto_path=../path/to/NAME.proto
)

set(ProjectName-HeaderFiles
    ${ProjectName-HeaderFiles}
  <list of all header files>
)

set(ProjectName-SourceFiles
    ${ProjectName-SourceFiles}
  <list of all source files>
)

add_executable(ProjectName  ${PROTO_SRCS} ${PROTO_HDRS}
                            <list of all other executables>
)

add_definitions(
  -D_CONSOLE
  -DWIN32
  -D_DEBUG
  -DSTANDALONE_PROGRAM
)

include_directories(
  <list of all include paths>
)
target_link_libraries( ProjectName
PUBLIC
CONAN_PKG::Protobuf
LIB1
LIB2
)

Мое решение создано @location CMAKE_BINARY_SOURCE_DIR, но файлы NAME.pb.h и NAME.pb.cc не создаются. Может ли кто-нибудь сообщить мне, в чем проблема? Любые предложения приветствуются.

...