libprotobuf.cmake 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. set(libprotobuf_files
  2. ${protobuf_source_dir}/src/google/protobuf/any.cc
  3. ${protobuf_source_dir}/src/google/protobuf/any.pb.cc
  4. ${protobuf_source_dir}/src/google/protobuf/api.pb.cc
  5. ${protobuf_source_dir}/src/google/protobuf/compiler/importer.cc
  6. ${protobuf_source_dir}/src/google/protobuf/compiler/parser.cc
  7. ${protobuf_source_dir}/src/google/protobuf/descriptor.cc
  8. ${protobuf_source_dir}/src/google/protobuf/descriptor.pb.cc
  9. ${protobuf_source_dir}/src/google/protobuf/descriptor_database.cc
  10. ${protobuf_source_dir}/src/google/protobuf/duration.pb.cc
  11. ${protobuf_source_dir}/src/google/protobuf/dynamic_message.cc
  12. ${protobuf_source_dir}/src/google/protobuf/empty.pb.cc
  13. ${protobuf_source_dir}/src/google/protobuf/extension_set_heavy.cc
  14. ${protobuf_source_dir}/src/google/protobuf/field_mask.pb.cc
  15. ${protobuf_source_dir}/src/google/protobuf/generated_message_reflection.cc
  16. ${protobuf_source_dir}/src/google/protobuf/io/gzip_stream.cc
  17. ${protobuf_source_dir}/src/google/protobuf/io/printer.cc
  18. ${protobuf_source_dir}/src/google/protobuf/io/strtod.cc
  19. ${protobuf_source_dir}/src/google/protobuf/io/tokenizer.cc
  20. ${protobuf_source_dir}/src/google/protobuf/io/zero_copy_stream_impl.cc
  21. ${protobuf_source_dir}/src/google/protobuf/map_field.cc
  22. ${protobuf_source_dir}/src/google/protobuf/message.cc
  23. ${protobuf_source_dir}/src/google/protobuf/reflection_ops.cc
  24. ${protobuf_source_dir}/src/google/protobuf/service.cc
  25. ${protobuf_source_dir}/src/google/protobuf/source_context.pb.cc
  26. ${protobuf_source_dir}/src/google/protobuf/struct.pb.cc
  27. ${protobuf_source_dir}/src/google/protobuf/stubs/mathlimits.cc
  28. ${protobuf_source_dir}/src/google/protobuf/stubs/substitute.cc
  29. ${protobuf_source_dir}/src/google/protobuf/text_format.cc
  30. ${protobuf_source_dir}/src/google/protobuf/timestamp.pb.cc
  31. ${protobuf_source_dir}/src/google/protobuf/type.pb.cc
  32. ${protobuf_source_dir}/src/google/protobuf/unknown_field_set.cc
  33. ${protobuf_source_dir}/src/google/protobuf/util/field_comparator.cc
  34. ${protobuf_source_dir}/src/google/protobuf/util/field_mask_util.cc
  35. ${protobuf_source_dir}/src/google/protobuf/util/internal/datapiece.cc
  36. ${protobuf_source_dir}/src/google/protobuf/util/internal/default_value_objectwriter.cc
  37. ${protobuf_source_dir}/src/google/protobuf/util/internal/error_listener.cc
  38. ${protobuf_source_dir}/src/google/protobuf/util/internal/field_mask_utility.cc
  39. ${protobuf_source_dir}/src/google/protobuf/util/internal/json_escaping.cc
  40. ${protobuf_source_dir}/src/google/protobuf/util/internal/json_objectwriter.cc
  41. ${protobuf_source_dir}/src/google/protobuf/util/internal/json_stream_parser.cc
  42. ${protobuf_source_dir}/src/google/protobuf/util/internal/object_writer.cc
  43. ${protobuf_source_dir}/src/google/protobuf/util/internal/proto_writer.cc
  44. ${protobuf_source_dir}/src/google/protobuf/util/internal/protostream_objectsource.cc
  45. ${protobuf_source_dir}/src/google/protobuf/util/internal/protostream_objectwriter.cc
  46. ${protobuf_source_dir}/src/google/protobuf/util/internal/type_info.cc
  47. ${protobuf_source_dir}/src/google/protobuf/util/internal/type_info_test_helper.cc
  48. ${protobuf_source_dir}/src/google/protobuf/util/internal/utility.cc
  49. ${protobuf_source_dir}/src/google/protobuf/util/json_util.cc
  50. ${protobuf_source_dir}/src/google/protobuf/util/message_differencer.cc
  51. ${protobuf_source_dir}/src/google/protobuf/util/time_util.cc
  52. ${protobuf_source_dir}/src/google/protobuf/util/type_resolver_util.cc
  53. ${protobuf_source_dir}/src/google/protobuf/wire_format.cc
  54. ${protobuf_source_dir}/src/google/protobuf/wrappers.pb.cc
  55. )
  56. add_library(libprotobuf ${protobuf_SHARED_OR_STATIC}
  57. ${libprotobuf_lite_files} ${libprotobuf_files})
  58. target_link_libraries(libprotobuf ${CMAKE_THREAD_LIBS_INIT})
  59. if(protobuf_WITH_ZLIB)
  60. target_link_libraries(libprotobuf ${ZLIB_LIBRARIES})
  61. endif()
  62. target_include_directories(libprotobuf PUBLIC ${protobuf_source_dir}/src)
  63. if(MSVC AND protobuf_BUILD_SHARED_LIBS)
  64. target_compile_definitions(libprotobuf
  65. PUBLIC PROTOBUF_USE_DLLS
  66. PRIVATE LIBPROTOBUF_EXPORTS)
  67. endif()
  68. set_target_properties(libprotobuf PROPERTIES
  69. OUTPUT_NAME ${LIB_PREFIX}protobuf
  70. DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}")