]>
Commit | Line | Data |
---|---|---|
11fdf7f2 | 1 | add_library(crimson::cflags INTERFACE IMPORTED) |
9f95a23c TL |
2 | set(crimson_cflag_definitions "WITH_SEASTAR=1") |
3 | # disable concepts to address https://github.com/boostorg/asio/issues/312 | |
4 | if((CMAKE_CXX_COMPILER_ID STREQUAL GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10) OR | |
5 | (CMAKE_CXX_COMPILER_ID STREQUAL Clang)) | |
6 | list(APPEND crimson_cflag_definitions | |
7 | "BOOST_ASIO_DISABLE_CONCEPTS") | |
8 | endif() | |
11fdf7f2 | 9 | set_target_properties(crimson::cflags PROPERTIES |
9f95a23c | 10 | INTERFACE_COMPILE_DEFINITIONS "${crimson_cflag_definitions}" |
f67539c2 | 11 | INTERFACE_COMPILE_OPTIONS $<$<COMPILE_LANGUAGE:CXX>:-Wno-non-virtual-dtor> |
11fdf7f2 TL |
12 | INTERFACE_LINK_LIBRARIES Seastar::seastar) |
13 | ||
14 | set(crimson_common_srcs | |
f67539c2 | 15 | common/assert.cc |
9f95a23c | 16 | common/buffer_io.cc |
11fdf7f2 | 17 | common/config_proxy.cc |
20effc67 | 18 | common/fatal_signal.cc |
f67539c2 | 19 | common/formatter.cc |
11fdf7f2 | 20 | common/perf_counters_collection.cc |
f67539c2 | 21 | common/log.cc |
20effc67 TL |
22 | common/logclient.cc |
23 | common/operation.cc | |
f67539c2 TL |
24 | common/throttle.cc |
25 | common/tri_mutex.cc) | |
11fdf7f2 TL |
26 | |
27 | # the specialized version of ceph-common, where | |
28 | # - the logging is sent to Seastar backend | |
29 | # - and the template parameter of lock_policy is SINGLE | |
30 | add_library(crimson-common STATIC | |
20effc67 | 31 | ${PROJECT_SOURCE_DIR}/src/auth/Crypto.cc |
11fdf7f2 TL |
32 | ${PROJECT_SOURCE_DIR}/src/common/admin_socket_client.cc |
33 | ${PROJECT_SOURCE_DIR}/src/common/bit_str.cc | |
34 | ${PROJECT_SOURCE_DIR}/src/common/bloom_filter.cc | |
9f95a23c | 35 | ${PROJECT_SOURCE_DIR}/src/common/buffer.cc |
f67539c2 | 36 | ${PROJECT_SOURCE_DIR}/src/common/buffer_seastar.cc |
11fdf7f2 TL |
37 | ${PROJECT_SOURCE_DIR}/src/common/ceph_argparse.cc |
38 | ${PROJECT_SOURCE_DIR}/src/common/ceph_context.cc | |
39 | ${PROJECT_SOURCE_DIR}/src/common/ceph_crypto.cc | |
40 | ${PROJECT_SOURCE_DIR}/src/common/ceph_hash.cc | |
41 | ${PROJECT_SOURCE_DIR}/src/common/ceph_time.cc | |
42 | ${PROJECT_SOURCE_DIR}/src/common/ceph_strings.cc | |
9f95a23c | 43 | ${PROJECT_SOURCE_DIR}/src/common/ceph_releases.cc |
11fdf7f2 TL |
44 | ${PROJECT_SOURCE_DIR}/src/common/cmdparse.cc |
45 | ${PROJECT_SOURCE_DIR}/src/common/common_init.cc | |
46 | ${PROJECT_SOURCE_DIR}/src/common/compat.cc | |
47 | ${PROJECT_SOURCE_DIR}/src/common/code_environment.cc | |
48 | ${PROJECT_SOURCE_DIR}/src/common/config.cc | |
49 | ${PROJECT_SOURCE_DIR}/src/common/config_values.cc | |
50 | ${PROJECT_SOURCE_DIR}/src/common/dout.cc | |
51 | ${PROJECT_SOURCE_DIR}/src/common/entity_name.cc | |
52 | ${PROJECT_SOURCE_DIR}/src/common/environment.cc | |
53 | ${PROJECT_SOURCE_DIR}/src/common/errno.cc | |
54 | ${PROJECT_SOURCE_DIR}/src/common/escape.cc | |
55 | ${PROJECT_SOURCE_DIR}/src/common/hex.cc | |
56 | ${PROJECT_SOURCE_DIR}/src/common/fs_types.cc | |
f67539c2 | 57 | ${PROJECT_SOURCE_DIR}/src/common/ceph_json.cc |
11fdf7f2 TL |
58 | ${PROJECT_SOURCE_DIR}/src/common/histogram.cc |
59 | ${PROJECT_SOURCE_DIR}/src/common/hobject.cc | |
60 | ${PROJECT_SOURCE_DIR}/src/common/hostname.cc | |
61 | ${PROJECT_SOURCE_DIR}/src/common/ipaddr.cc | |
11fdf7f2 TL |
62 | ${PROJECT_SOURCE_DIR}/src/common/mempool.cc |
63 | ${PROJECT_SOURCE_DIR}/src/common/options.cc | |
64 | ${PROJECT_SOURCE_DIR}/src/common/perf_counters.cc | |
65 | ${PROJECT_SOURCE_DIR}/src/common/perf_histogram.cc | |
66 | ${PROJECT_SOURCE_DIR}/src/common/page.cc | |
67 | ${PROJECT_SOURCE_DIR}/src/common/pick_address.cc | |
68 | ${PROJECT_SOURCE_DIR}/src/common/snap_types.cc | |
69 | ${PROJECT_SOURCE_DIR}/src/common/signal.cc | |
70 | ${PROJECT_SOURCE_DIR}/src/common/str_list.cc | |
71 | ${PROJECT_SOURCE_DIR}/src/common/str_map.cc | |
72 | ${PROJECT_SOURCE_DIR}/src/common/strtol.cc | |
73 | ${PROJECT_SOURCE_DIR}/src/common/reverse.c | |
74 | ${PROJECT_SOURCE_DIR}/src/common/types.cc | |
75 | ${PROJECT_SOURCE_DIR}/src/common/utf8.c | |
76 | ${PROJECT_SOURCE_DIR}/src/common/version.cc | |
77 | ${PROJECT_SOURCE_DIR}/src/common/BackTrace.cc | |
78 | ${PROJECT_SOURCE_DIR}/src/common/ConfUtils.cc | |
79 | ${PROJECT_SOURCE_DIR}/src/common/DecayCounter.cc | |
80 | ${PROJECT_SOURCE_DIR}/src/common/HTMLFormatter.cc | |
81 | ${PROJECT_SOURCE_DIR}/src/common/Formatter.cc | |
82 | ${PROJECT_SOURCE_DIR}/src/common/Graylog.cc | |
20effc67 | 83 | ${PROJECT_SOURCE_DIR}/src/common/Journald.cc |
9f95a23c | 84 | ${PROJECT_SOURCE_DIR}/src/common/ostream_temp.cc |
11fdf7f2 | 85 | ${PROJECT_SOURCE_DIR}/src/common/LogEntry.cc |
11fdf7f2 TL |
86 | ${PROJECT_SOURCE_DIR}/src/common/TextTable.cc |
87 | ${PROJECT_SOURCE_DIR}/src/common/Thread.cc | |
11fdf7f2 | 88 | ${PROJECT_SOURCE_DIR}/src/common/PluginRegistry.cc |
9f95a23c TL |
89 | ${PROJECT_SOURCE_DIR}/src/common/RefCountedObj.cc |
90 | ${PROJECT_SOURCE_DIR}/src/common/util.cc | |
20effc67 | 91 | ${PROJECT_SOURCE_DIR}/src/compressor/Compressor.cc |
9f95a23c TL |
92 | ${PROJECT_SOURCE_DIR}/src/crush/builder.c |
93 | ${PROJECT_SOURCE_DIR}/src/crush/mapper.c | |
94 | ${PROJECT_SOURCE_DIR}/src/crush/crush.c | |
95 | ${PROJECT_SOURCE_DIR}/src/crush/hash.c | |
96 | ${PROJECT_SOURCE_DIR}/src/crush/CrushWrapper.cc | |
97 | ${PROJECT_SOURCE_DIR}/src/crush/CrushCompiler.cc | |
98 | ${PROJECT_SOURCE_DIR}/src/crush/CrushTester.cc | |
99 | ${PROJECT_SOURCE_DIR}/src/crush/CrushLocation.cc | |
100 | ${PROJECT_SOURCE_DIR}/src/global/global_context.cc | |
101 | ${PROJECT_SOURCE_DIR}/src/global/pidfile.cc | |
11fdf7f2 | 102 | ${PROJECT_SOURCE_DIR}/src/librbd/Features.cc |
20effc67 | 103 | ${PROJECT_SOURCE_DIR}/src/librbd/io/IoOperations.cc |
11fdf7f2 TL |
104 | ${PROJECT_SOURCE_DIR}/src/log/Log.cc |
105 | ${PROJECT_SOURCE_DIR}/src/mgr/ServiceMap.cc | |
106 | ${PROJECT_SOURCE_DIR}/src/mds/inode_backtrace.cc | |
107 | ${PROJECT_SOURCE_DIR}/src/mds/mdstypes.cc | |
f67539c2 | 108 | ${PROJECT_SOURCE_DIR}/src/mds/cephfs_features.cc |
11fdf7f2 TL |
109 | ${PROJECT_SOURCE_DIR}/src/mds/FSMap.cc |
110 | ${PROJECT_SOURCE_DIR}/src/mds/FSMapUser.cc | |
111 | ${PROJECT_SOURCE_DIR}/src/mds/MDSMap.cc | |
112 | ${PROJECT_SOURCE_DIR}/src/msg/msg_types.cc | |
113 | ${PROJECT_SOURCE_DIR}/src/msg/Message.cc | |
114 | ${PROJECT_SOURCE_DIR}/src/mon/PGMap.cc | |
115 | ${PROJECT_SOURCE_DIR}/src/mon/MonCap.cc | |
116 | ${PROJECT_SOURCE_DIR}/src/mon/MonMap.cc | |
117 | ${PROJECT_SOURCE_DIR}/src/osd/osd_types.cc | |
118 | ${PROJECT_SOURCE_DIR}/src/osd/ECMsgTypes.cc | |
119 | ${PROJECT_SOURCE_DIR}/src/osd/HitSet.cc | |
120 | ${PROJECT_SOURCE_DIR}/src/osd/OSDMap.cc | |
121 | ${PROJECT_SOURCE_DIR}/src/osd/PGPeeringEvent.cc | |
9f95a23c | 122 | ${PROJECT_SOURCE_DIR}/src/xxHash/xxhash.c |
11fdf7f2 | 123 | ${crimson_common_srcs} |
20effc67 TL |
124 | $<TARGET_OBJECTS:common_mountcephfs_objs> |
125 | $<TARGET_OBJECTS:common-options-objs>) | |
11fdf7f2 TL |
126 | |
127 | target_compile_definitions(crimson-common PRIVATE | |
20effc67 TL |
128 | "CMAKE_INSTALL_LIBDIR=\"${CMAKE_INSTALL_LIBDIR}\"" |
129 | "CEPH_INSTALL_FULL_PKGLIBDIR=\"${CEPH_INSTALL_FULL_PKGLIBDIR}\"" | |
130 | "CEPH_INSTALL_DATADIR=\"${CEPH_INSTALL_DATADIR}\"") | |
11fdf7f2 | 131 | |
9f95a23c TL |
132 | set(crimson_common_deps |
133 | Boost::iostreams | |
f67539c2 TL |
134 | Boost::random |
135 | json_spirit) | |
136 | ||
137 | if(WITH_JAEGER) | |
138 | include_directories(SYSTEM ${CMAKE_BINARY_DIR}/external/include) | |
20effc67 | 139 | list(APPEND crimson_common_deps ${jaeger_base}) |
f67539c2 | 140 | endif() |
9f95a23c TL |
141 | |
142 | if(NOT WITH_SYSTEM_BOOST) | |
143 | list(APPEND crimson_common_deps ${ZLIB_LIBRARIES}) | |
144 | endif() | |
145 | ||
11fdf7f2 TL |
146 | target_link_libraries(crimson-common |
147 | PUBLIC | |
9f95a23c | 148 | crimson::cflags |
11fdf7f2 TL |
149 | PRIVATE |
150 | crc32 | |
9f95a23c TL |
151 | ${crimson_common_deps} |
152 | OpenSSL::Crypto) | |
11fdf7f2 TL |
153 | |
154 | set(crimson_auth_srcs | |
9f95a23c TL |
155 | auth/KeyRing.cc |
156 | ${PROJECT_SOURCE_DIR}/src/auth/AuthClientHandler.cc | |
157 | ${PROJECT_SOURCE_DIR}/src/auth/AuthMethodList.cc | |
158 | ${PROJECT_SOURCE_DIR}/src/auth/AuthRegistry.cc | |
159 | ${PROJECT_SOURCE_DIR}/src/auth/AuthSessionHandler.cc | |
160 | ${PROJECT_SOURCE_DIR}/src/auth/Crypto.cc | |
161 | ${PROJECT_SOURCE_DIR}/src/auth/KeyRing.cc | |
162 | ${PROJECT_SOURCE_DIR}/src/auth/RotatingKeyRing.cc | |
163 | ${PROJECT_SOURCE_DIR}/src/auth/cephx/CephxAuthorizeHandler.cc | |
164 | ${PROJECT_SOURCE_DIR}/src/auth/cephx/CephxClientHandler.cc | |
165 | ${PROJECT_SOURCE_DIR}/src/auth/cephx/CephxProtocol.cc | |
166 | ${PROJECT_SOURCE_DIR}/src/auth/cephx/CephxSessionHandler.cc | |
167 | ${PROJECT_SOURCE_DIR}/src/auth/none/AuthNoneAuthorizeHandler.cc) | |
168 | set(crimson_mgr_srcs | |
169 | mgr/client.cc) | |
11fdf7f2 TL |
170 | set(crimson_mon_srcs |
171 | mon/MonClient.cc | |
172 | ${PROJECT_SOURCE_DIR}/src/mon/MonSub.cc) | |
173 | set(crimson_net_srcs | |
f67539c2 | 174 | ${PROJECT_SOURCE_DIR}/src/msg/async/crypto_onwire.cc |
20effc67 | 175 | ${PROJECT_SOURCE_DIR}/src/msg/async/compression_onwire.cc |
f6b5b4d7 | 176 | ${PROJECT_SOURCE_DIR}/src/msg/async/frames_v2.cc |
11fdf7f2 TL |
177 | net/Errors.cc |
178 | net/Messenger.cc | |
179 | net/SocketConnection.cc | |
180 | net/SocketMessenger.cc | |
9f95a23c TL |
181 | net/Socket.cc |
182 | net/Protocol.cc | |
f67539c2 TL |
183 | net/ProtocolV2.cc |
184 | net/chained_dispatchers.cc) | |
11fdf7f2 TL |
185 | add_library(crimson STATIC |
186 | ${crimson_auth_srcs} | |
9f95a23c | 187 | ${crimson_mgr_srcs} |
11fdf7f2 | 188 | ${crimson_mon_srcs} |
f67539c2 | 189 | ${crimson_net_srcs}) |
11fdf7f2 TL |
190 | target_compile_options(crimson PUBLIC |
191 | "-ftemplate-backtrace-limit=0") | |
20effc67 TL |
192 | set_target_properties(crimson PROPERTIES |
193 | JOB_POOL_COMPILE heavy_compile_job_pool) | |
11fdf7f2 TL |
194 | target_link_libraries(crimson |
195 | PUBLIC | |
196 | crimson-common | |
197 | crimson::cflags) | |
f67539c2 | 198 | add_subdirectory(admin) |
11fdf7f2 TL |
199 | add_subdirectory(os) |
200 | add_subdirectory(osd) | |
f67539c2 | 201 | add_subdirectory(tools) |