|  | 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_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() |