2 add_executable(ceph_erasure_code_benchmark
3 ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
4 ceph_erasure_code_benchmark.cc)
5 target_link_libraries(ceph_erasure_code_benchmark ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
6 install(TARGETS ceph_erasure_code_benchmark
9 add_executable(ceph_erasure_code_non_regression ceph_erasure_code_non_regression.cc)
10 target_link_libraries(ceph_erasure_code_non_regression ceph-common Boost::program_options global ${CMAKE_DL_LIBS})
12 add_library(ec_example SHARED
13 ErasureCodePluginExample.cc
14 $<TARGET_OBJECTS:erasure_code_objs>)
15 target_link_libraries(ec_example pthread ${EXTRALIBS})
17 add_library(ec_missing_entry_point SHARED ErasureCodePluginMissingEntryPoint.cc)
18 target_link_libraries(ec_missing_entry_point pthread ${EXTRALIBS})
20 add_library(ec_missing_version SHARED ErasureCodePluginMissingVersion.cc)
21 target_link_libraries(ec_missing_version pthread ${EXTRALIBS})
23 add_library(ec_hangs SHARED ErasureCodePluginHangs.cc)
24 target_link_libraries(ec_hangs pthread ${EXTRALIBS})
26 add_library(ec_fail_to_initialize SHARED ErasureCodePluginFailToInitialize.cc)
27 target_link_libraries(ec_fail_to_initialize pthread ${EXTRALIBS})
29 add_library(ec_fail_to_register SHARED ErasureCodePluginFailToRegister.cc)
30 target_link_libraries(ec_fail_to_register pthread ${EXTRALIBS})
32 # unittest_erasure_code_plugin
33 add_executable(unittest_erasure_code_plugin
34 ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
35 TestErasureCodePlugin.cc
36 $<TARGET_OBJECTS:unit-main>
38 add_ceph_unittest(unittest_erasure_code_plugin)
39 target_link_libraries(unittest_erasure_code_plugin
45 add_dependencies(unittest_erasure_code_plugin
47 ec_missing_entry_point
53 # unittest_erasure_code
54 add_executable(unittest_erasure_code
55 ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
57 $<TARGET_OBJECTS:unit-main>
59 add_ceph_unittest(unittest_erasure_code)
60 target_link_libraries(unittest_erasure_code
65 # unittest_erasure_code_plugin_jerasure
66 add_executable(unittest_erasure_code_plugin_jerasure
67 TestErasureCodePluginJerasure.cc
68 $<TARGET_OBJECTS:unit-main>
70 add_ceph_unittest(unittest_erasure_code_plugin_jerasure)
71 target_link_libraries(unittest_erasure_code_plugin_jerasure
74 add_dependencies(unittest_erasure_code_plugin_jerasure
77 if(WITH_EC_ISA_PLUGIN)
79 #unittest_erasure_code_isa
80 add_executable(unittest_erasure_code_isa
81 ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
83 $<TARGET_OBJECTS:unit-main>
85 add_ceph_unittest(unittest_erasure_code_isa)
86 target_link_libraries(unittest_erasure_code_isa
93 #unittest_erasure_code_plugin_isa
94 add_executable(unittest_erasure_code_plugin_isa
95 ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
96 TestErasureCodePluginIsa.cc
97 $<TARGET_OBJECTS:unit-main>
99 add_ceph_unittest(unittest_erasure_code_plugin_isa)
100 target_link_libraries(unittest_erasure_code_plugin_isa
106 add_dependencies(unittest_erasure_code_plugin_isa
108 endif(WITH_EC_ISA_PLUGIN)
110 # unittest_erasure_code_lrc
111 add_executable(unittest_erasure_code_lrc
112 TestErasureCodeLrc.cc
113 $<TARGET_OBJECTS:unit-main>)
114 add_ceph_unittest(unittest_erasure_code_lrc)
115 target_link_libraries(unittest_erasure_code_lrc
122 # unittest_erasure_code_plugin_lrc
123 add_executable(unittest_erasure_code_plugin_lrc
124 TestErasureCodePluginLrc.cc
125 $<TARGET_OBJECTS:unit-main>
127 add_ceph_unittest(unittest_erasure_code_plugin_lrc)
128 add_dependencies(unittest_erasure_code_plugin_lrc
131 target_link_libraries(unittest_erasure_code_plugin_lrc
136 # unittest_erasure_code_plugin_shec
137 add_executable(unittest_erasure_code_plugin_shec
138 TestErasureCodePluginShec.cc
139 $<TARGET_OBJECTS:unit-main>
141 add_ceph_unittest(unittest_erasure_code_plugin_shec)
142 target_link_libraries(unittest_erasure_code_plugin_shec
146 add_dependencies(unittest_erasure_code_plugin_shec
149 # unittest_erasure_code_example
150 add_executable(unittest_erasure_code_example
151 ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
152 TestErasureCodeExample.cc
153 $<TARGET_OBJECTS:unit-main>
155 add_ceph_unittest(unittest_erasure_code_example)
156 target_link_libraries(unittest_erasure_code_example
164 include_directories(SYSTEM ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/include)
165 include_directories(SYSTEM ${CMAKE_SOURCE_DIR}/src/erasure-code//jerasure/gf-complete/include)
167 # unittest_erasure_code_jerasure
168 add_executable(unittest_erasure_code_jerasure
169 TestErasureCodeJerasure.cc
170 $<TARGET_OBJECTS:unit-main>
172 add_ceph_unittest(unittest_erasure_code_jerasure)
173 target_link_libraries(unittest_erasure_code_jerasure
179 include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure)
180 include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/shec)
182 # unittest_erasure_code_shec
183 add_executable(unittest_erasure_code_shec
184 TestErasureCodeShec.cc
185 $<TARGET_OBJECTS:unit-main>
187 add_ceph_unittest(unittest_erasure_code_shec)
188 target_link_libraries(unittest_erasure_code_shec
195 # unittest_erasure_code_shec_all
196 add_executable(unittest_erasure_code_shec_all
197 TestErasureCodeShec_all.cc
199 add_ceph_unittest(unittest_erasure_code_shec_all PARALLEL)
200 target_link_libraries(unittest_erasure_code_shec_all
207 # unittest_erasure_code_shec_thread
208 add_executable(unittest_erasure_code_shec_thread
209 TestErasureCodeShec_thread.cc
210 $<TARGET_OBJECTS:unit-main>
212 add_ceph_unittest(unittest_erasure_code_shec_thread)
213 target_link_libraries(unittest_erasure_code_shec_thread
221 # unittest_erasure_code_shec_arguments
222 add_executable(unittest_erasure_code_shec_arguments
223 TestErasureCodeShec_arguments.cc
225 add_ceph_unittest(unittest_erasure_code_shec_arguments)
226 target_link_libraries(unittest_erasure_code_shec_arguments
233 #unitest_erasure_code_clay
234 add_executable(unittest_erasure_code_clay
235 TestErasureCodeClay.cc
236 $<TARGET_OBJECTS:unit-main>)
237 add_ceph_unittest(unittest_erasure_code_clay)
238 target_link_libraries(unittest_erasure_code_clay
246 # unittest_erasure_code_plugin_clay
247 add_executable(unittest_erasure_code_plugin_clay
248 TestErasureCodePluginClay.cc
249 $<TARGET_OBJECTS:unit-main>)
250 add_ceph_unittest(unittest_erasure_code_plugin_clay)
251 add_dependencies(unittest_erasure_code_plugin_clay
253 target_link_libraries(unittest_erasure_code_plugin_clay