|
|
|
include(${protobuf_SOURCE_DIR}/src/file_lists.cmake)
|
|
|
|
|
|
|
|
set(bootstrap_cmake_dir ${protobuf_SOURCE_DIR}/upb_generator/cmake)
|
|
|
|
set(bootstrap_sources
|
|
|
|
${bootstrap_cmake_dir}/google/protobuf/compiler/plugin.upb.h
|
|
|
|
${bootstrap_cmake_dir}/google/protobuf/compiler/plugin.upb_minitable.h
|
|
|
|
${bootstrap_cmake_dir}/google/protobuf/compiler/plugin.upb_minitable.c
|
|
|
|
)
|
|
|
|
|
|
|
|
foreach(generator upb upbdefs upb_minitable)
|
|
|
|
add_executable(protoc-gen-${generator}
|
|
|
|
${protoc-gen-${generator}_srcs}
|
|
|
|
${protoc-gen-${generator}_hdrs}
|
|
|
|
${bootstrap_sources}
|
|
|
|
${protobuf_version_rc_file}
|
|
|
|
)
|
|
|
|
target_include_directories(protoc-gen-${generator} PRIVATE ${bootstrap_cmake_dir})
|
|
|
|
target_link_libraries(protoc-gen-${generator}
|
|
|
|
${protobuf_LIB_PROTOBUF}
|
|
|
|
${protobuf_LIB_PROTOC}
|
|
|
|
${protobuf_LIB_UPB}
|
|
|
|
${protobuf_ABSL_USED_TARGETS}
|
|
|
|
)
|
|
|
|
set_target_properties(protoc-gen-${generator} PROPERTIES VERSION ${protobuf_VERSION})
|
|
|
|
add_executable(protobuf::protoc-gen-${generator} ALIAS protoc-gen-${generator})
|
|
|
|
endforeach()
|