• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1set(libprotobuf_lite_files
2  ${protobuf_source_dir}/src/google/protobuf/any_lite.cc
3  ${protobuf_source_dir}/src/google/protobuf/arena.cc
4  ${protobuf_source_dir}/src/google/protobuf/arenastring.cc
5  ${protobuf_source_dir}/src/google/protobuf/arenaz_sampler.cc
6  ${protobuf_source_dir}/src/google/protobuf/extension_set.cc
7  ${protobuf_source_dir}/src/google/protobuf/generated_enum_util.cc
8  ${protobuf_source_dir}/src/google/protobuf/generated_message_tctable_lite.cc
9  ${protobuf_source_dir}/src/google/protobuf/generated_message_util.cc
10  ${protobuf_source_dir}/src/google/protobuf/implicit_weak_message.cc
11  ${protobuf_source_dir}/src/google/protobuf/inlined_string_field.cc
12  ${protobuf_source_dir}/src/google/protobuf/io/coded_stream.cc
13  ${protobuf_source_dir}/src/google/protobuf/io/io_win32.cc
14  ${protobuf_source_dir}/src/google/protobuf/io/strtod.cc
15  ${protobuf_source_dir}/src/google/protobuf/io/zero_copy_stream.cc
16  ${protobuf_source_dir}/src/google/protobuf/io/zero_copy_stream_impl.cc
17  ${protobuf_source_dir}/src/google/protobuf/io/zero_copy_stream_impl_lite.cc
18  ${protobuf_source_dir}/src/google/protobuf/map.cc
19  ${protobuf_source_dir}/src/google/protobuf/message_lite.cc
20  ${protobuf_source_dir}/src/google/protobuf/parse_context.cc
21  ${protobuf_source_dir}/src/google/protobuf/repeated_field.cc
22  ${protobuf_source_dir}/src/google/protobuf/repeated_ptr_field.cc
23  ${protobuf_source_dir}/src/google/protobuf/stubs/bytestream.cc
24  ${protobuf_source_dir}/src/google/protobuf/stubs/common.cc
25  ${protobuf_source_dir}/src/google/protobuf/stubs/int128.cc
26  ${protobuf_source_dir}/src/google/protobuf/stubs/status.cc
27  ${protobuf_source_dir}/src/google/protobuf/stubs/statusor.cc
28  ${protobuf_source_dir}/src/google/protobuf/stubs/stringpiece.cc
29  ${protobuf_source_dir}/src/google/protobuf/stubs/stringprintf.cc
30  ${protobuf_source_dir}/src/google/protobuf/stubs/structurally_valid.cc
31  ${protobuf_source_dir}/src/google/protobuf/stubs/strutil.cc
32  ${protobuf_source_dir}/src/google/protobuf/stubs/time.cc
33  ${protobuf_source_dir}/src/google/protobuf/wire_format_lite.cc
34)
35
36set(libprotobuf_lite_includes
37  ${protobuf_source_dir}/src/google/protobuf/any.h
38  ${protobuf_source_dir}/src/google/protobuf/arena.h
39  ${protobuf_source_dir}/src/google/protobuf/arena_impl.h
40  ${protobuf_source_dir}/src/google/protobuf/arenastring.h
41  ${protobuf_source_dir}/src/google/protobuf/arenaz_sampler.h
42  ${protobuf_source_dir}/src/google/protobuf/explicitly_constructed.h
43  ${protobuf_source_dir}/src/google/protobuf/extension_set.h
44  ${protobuf_source_dir}/src/google/protobuf/extension_set_inl.h
45  ${protobuf_source_dir}/src/google/protobuf/generated_enum_util.h
46  ${protobuf_source_dir}/src/google/protobuf/generated_message_tctable_decl.h
47  ${protobuf_source_dir}/src/google/protobuf/generated_message_tctable_impl.h
48  ${protobuf_source_dir}/src/google/protobuf/generated_message_util.h
49  ${protobuf_source_dir}/src/google/protobuf/has_bits.h
50  ${protobuf_source_dir}/src/google/protobuf/implicit_weak_message.h
51  ${protobuf_source_dir}/src/google/protobuf/inlined_string_field.h
52  ${protobuf_source_dir}/src/google/protobuf/io/coded_stream.h
53  ${protobuf_source_dir}/src/google/protobuf/io/io_win32.h
54  ${protobuf_source_dir}/src/google/protobuf/io/strtod.h
55  ${protobuf_source_dir}/src/google/protobuf/io/zero_copy_stream.h
56  ${protobuf_source_dir}/src/google/protobuf/io/zero_copy_stream_impl.h
57  ${protobuf_source_dir}/src/google/protobuf/io/zero_copy_stream_impl_lite.h
58  ${protobuf_source_dir}/src/google/protobuf/map.h
59  ${protobuf_source_dir}/src/google/protobuf/map_entry_lite.h
60  ${protobuf_source_dir}/src/google/protobuf/map_field_lite.h
61  ${protobuf_source_dir}/src/google/protobuf/map_type_handler.h
62  ${protobuf_source_dir}/src/google/protobuf/message_lite.h
63  ${protobuf_source_dir}/src/google/protobuf/metadata_lite.h
64  ${protobuf_source_dir}/src/google/protobuf/parse_context.h
65  ${protobuf_source_dir}/src/google/protobuf/port.h
66  ${protobuf_source_dir}/src/google/protobuf/repeated_field.h
67  ${protobuf_source_dir}/src/google/protobuf/repeated_ptr_field.h
68  ${protobuf_source_dir}/src/google/protobuf/stubs/bytestream.h
69  ${protobuf_source_dir}/src/google/protobuf/stubs/callback.h
70  ${protobuf_source_dir}/src/google/protobuf/stubs/casts.h
71  ${protobuf_source_dir}/src/google/protobuf/stubs/common.h
72  ${protobuf_source_dir}/src/google/protobuf/stubs/hash.h
73  ${protobuf_source_dir}/src/google/protobuf/stubs/logging.h
74  ${protobuf_source_dir}/src/google/protobuf/stubs/macros.h
75  ${protobuf_source_dir}/src/google/protobuf/stubs/map_util.h
76  ${protobuf_source_dir}/src/google/protobuf/stubs/mutex.h
77  ${protobuf_source_dir}/src/google/protobuf/stubs/once.h
78  ${protobuf_source_dir}/src/google/protobuf/stubs/platform_macros.h
79  ${protobuf_source_dir}/src/google/protobuf/stubs/port.h
80  ${protobuf_source_dir}/src/google/protobuf/stubs/status.h
81  ${protobuf_source_dir}/src/google/protobuf/stubs/stl_util.h
82  ${protobuf_source_dir}/src/google/protobuf/stubs/stringpiece.h
83  ${protobuf_source_dir}/src/google/protobuf/stubs/strutil.h
84  ${protobuf_source_dir}/src/google/protobuf/stubs/template_util.h
85  ${protobuf_source_dir}/src/google/protobuf/wire_format_lite.h
86)
87
88if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
89set(libprotobuf_lite_rc_files
90  ${CMAKE_CURRENT_BINARY_DIR}/version.rc
91)
92endif()
93
94add_library(libprotobuf-lite ${protobuf_SHARED_OR_STATIC}
95  ${libprotobuf_lite_files} ${libprotobuf_lite_includes} ${libprotobuf_lite_rc_files})
96if(protobuf_HAVE_LD_VERSION_SCRIPT)
97  if(${CMAKE_VERSION} VERSION_GREATER 3.13 OR ${CMAKE_VERSION} VERSION_EQUAL 3.13)
98    target_link_options(libprotobuf-lite PRIVATE -Wl,--version-script=${protobuf_source_dir}/src/libprotobuf-lite.map)
99  elseif(protobuf_BUILD_SHARED_LIBS)
100    target_link_libraries(libprotobuf-lite PRIVATE -Wl,--version-script=${protobuf_source_dir}/src/libprotobuf-lite.map)
101  endif()
102  set_target_properties(libprotobuf-lite PROPERTIES
103    LINK_DEPENDS ${protobuf_source_dir}/src/libprotobuf-lite.map)
104endif()
105target_link_libraries(libprotobuf-lite PRIVATE ${CMAKE_THREAD_LIBS_INIT})
106if(protobuf_LINK_LIBATOMIC)
107  target_link_libraries(libprotobuf-lite PRIVATE atomic)
108endif()
109if(${CMAKE_SYSTEM_NAME} STREQUAL "Android")
110  target_link_libraries(libprotobuf-lite PRIVATE log)
111endif()
112target_include_directories(libprotobuf-lite PUBLIC ${protobuf_source_dir}/src)
113if(protobuf_BUILD_SHARED_LIBS)
114  target_compile_definitions(libprotobuf-lite
115    PUBLIC  PROTOBUF_USE_DLLS
116    PRIVATE LIBPROTOBUF_EXPORTS)
117endif()
118set_target_properties(libprotobuf-lite PROPERTIES
119    VERSION ${protobuf_VERSION}
120    SOVERSION 31
121    OUTPUT_NAME ${LIB_PREFIX}protobuf-lite
122    DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}")
123add_library(protobuf::libprotobuf-lite ALIAS libprotobuf-lite)
124