]> git.proxmox.com Git - ceph.git/blame - ceph/src/common/CMakeLists.txt
import 15.2.0 Octopus source
[ceph.git] / ceph / src / common / CMakeLists.txt
CommitLineData
11fdf7f2
TL
1add_library(common_buffer_obj OBJECT
2 buffer.cc)
3
4add_library(common_texttable_obj OBJECT
5 TextTable.cc)
6
eafe8130
TL
7add_library(common_prioritycache_obj OBJECT
8 PriorityCache.cc)
9
11fdf7f2
TL
10set(common_srcs
11 AsyncOpTracker.cc
12 BackTrace.cc
13 ConfUtils.cc
14 Cycles.cc
15 DecayCounter.cc
16 Finisher.cc
17 Formatter.cc
18 Graylog.cc
19 HTMLFormatter.cc
20 HeartbeatMap.cc
21 LogClient.cc
22 LogEntry.cc
9f95a23c 23 ostream_temp.cc
11fdf7f2
TL
24 OutputDataSocket.cc
25 PluginRegistry.cc
11fdf7f2 26 Readahead.cc
9f95a23c 27 RefCountedObj.cc
11fdf7f2
TL
28 SloppyCRCMap.cc
29 SubProcess.cc
30 Thread.cc
31 Throttle.cc
32 Timer.cc
33 TracepointProvider.cc
34 TrackedOp.cc
35 WorkQueue.cc
36 address_helper.cc
37 admin_socket.cc
38 admin_socket_client.cc
39 assert.cc
40 bit_str.cc
41 blkdev.cc
42 bloom_filter.cc
43 ceph_argparse.cc
44 ceph_context.cc
45 ceph_crypto.cc
11fdf7f2
TL
46 ceph_frag.cc
47 ceph_fs.cc
48 ceph_hash.cc
49 ceph_json.cc
50 ceph_strings.cc
9f95a23c 51 ceph_releases.cc
11fdf7f2
TL
52 ceph_time.cc
53 cmdparse.cc
54 code_environment.cc
55 common_init.cc
56 compat.cc
57 condition_variable_debug.cc
58 config.cc
59 config_values.cc
60 dns_resolve.cc
61 dout.cc
62 entity_name.cc
63 environment.cc
64 errno.cc
65 escape.cc
66 fd.cc
67 fs_types.cc
68 hex.cc
69 histogram.cc
70 hobject.cc
71 hostname.cc
72 ipaddr.cc
73 iso_8601.cc
74 linux_version.c
75 lockdep.cc
76 mempool.cc
77 mime.c
78 mutex_debug.cc
79 numa.cc
80 options.cc
81 page.cc
82 perf_counters.cc
83 perf_counters_collection.cc
84 perf_histogram.cc
85 pick_address.cc
9f95a23c
TL
86 rabin.cc
87 random_string.cc
11fdf7f2
TL
88 reverse.c
89 run_cmd.cc
90 scrub_types.cc
91 shared_mutex_debug.cc
92 signal.cc
93 snap_types.cc
94 str_list.cc
95 str_map.cc
96 strtol.cc
97 types.cc
98 url_escape.cc
99 utf8.c
100 util.cc
9f95a23c 101 version.cc)
11fdf7f2
TL
102
103set_source_files_properties(${CMAKE_SOURCE_DIR}/src/common/version.cc
104 APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/src/include/ceph_ver.h)
105
106if(HAS_VTA)
107 set_source_files_properties(
108 config.cc
109 options.cc
110 PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments)
111endif()
112
113if(FREEBSD)
114 list(APPEND common_srcs freebsd_errno.cc)
115elseif(APPLE)
116 list(APPEND common_srcs darwin_errno.cc)
117elseif(SUN)
118 list(APPEND common_srcs solaris_errno.cc)
119elseif(AIX)
120 list(APPEND common_srcs aix_errno.cc)
121endif()
122
9f95a23c 123if(WITH_EVENTTRACE)
11fdf7f2
TL
124 list(APPEND common_srcs EventTrace.cc)
125endif()
126
127add_library(common-common-objs OBJECT
128 ${common_srcs})
9f95a23c
TL
129# Let's not rely on the default system headers and point Cmake to the
130# retrieved OpenSSL location. This is especially important when cross
131# compiling (e.g. targeting Windows).
132target_include_directories(common-common-objs PRIVATE ${OPENSSL_INCLUDE_DIR})
11fdf7f2
TL
133# for options.cc
134target_compile_definitions(common-common-objs PRIVATE
135 "CEPH_LIBDIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\""
136 "CEPH_PKGLIBDIR=\"${CEPH_INSTALL_FULL_PKGLIBDIR}\""
137 "CEPH_DATADIR=\"${CEPH_INSTALL_DATADIR}\"")
138
139set(common_mountcephfs_srcs
140 armor.c
141 safe_io.c
142 module.c
143 addr_parsing.c)
144add_library(common_mountcephfs_objs OBJECT
145 ${common_mountcephfs_srcs})
146
147
148set(crc32_srcs
149 crc32c.cc
150 crc32c_intel_baseline.c
151 sctp_crc32.c)
152
153if(HAVE_INTEL)
154 list(APPEND crc32_srcs
155 crc32c_intel_fast.c)
156 if(HAVE_GOOD_YASM_ELF64)
157 list(APPEND crc32_srcs
158 crc32c_intel_fast_asm.s
159 crc32c_intel_fast_zero_asm.s)
160 endif(HAVE_GOOD_YASM_ELF64)
161elseif(HAVE_POWER8)
162 list(APPEND crc32_srcs
163 crc32c_ppc.c)
164 if(HAVE_PPC64LE)
165 list(APPEND crc32_srcs
166 crc32c_ppc_asm.S
167 crc32c_ppc_fast_zero_asm.S)
168 endif(HAVE_PPC64LE)
169elseif(HAVE_ARMV8_CRC)
170 list(APPEND crc32_srcs
171 crc32c_aarch64.c)
172endif(HAVE_INTEL)
173
174add_library(crc32 ${crc32_srcs})
175if(HAVE_ARMV8_CRC)
176 set_target_properties(crc32 PROPERTIES
177 COMPILE_FLAGS "${CMAKE_C_FLAGS} ${ARMV8_CRC_COMPILE_FLAGS}")
178endif()
179target_link_libraries(crc32
180 arch)
181
182add_library(common_utf8 STATIC utf8.c)
183
eafe8130 184if(HAVE_KEYUTILS)
11fdf7f2
TL
185 set(parse_secret_srcs
186 secret.c)
187 add_library(parse_secret_objs OBJECT ${parse_secret_srcs})
188endif()