summaryrefslogtreecommitdiffstats
path: root/src/erasure-code/shec/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/erasure-code/shec/CMakeLists.txt')
-rw-r--r--src/erasure-code/shec/CMakeLists.txt33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/erasure-code/shec/CMakeLists.txt b/src/erasure-code/shec/CMakeLists.txt
new file mode 100644
index 000000000..0e699203d
--- /dev/null
+++ b/src/erasure-code/shec/CMakeLists.txt
@@ -0,0 +1,33 @@
+#shec plugin
+
+include_directories(.)
+
+set(shec_utils_srcs
+ ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc
+ ErasureCodePluginShec.cc
+ ErasureCodeShec.cc
+ ErasureCodeShecTableCache.cc
+ determinant.c)
+
+add_library(shec_utils OBJECT ${shec_utils_srcs})
+
+set(ec_shec_objs
+ $<TARGET_OBJECTS:gf-complete_objs>
+ $<TARGET_OBJECTS:jerasure_objs>
+ $<TARGET_OBJECTS:shec_utils>)
+
+add_library(ec_shec SHARED ${ec_shec_objs})
+set_target_properties(ec_shec PROPERTIES
+ INSTALL_RPATH "")
+target_link_libraries(ec_shec ${EXTRALIBS})
+install(TARGETS ec_shec DESTINATION ${erasure_plugin_dir})
+
+# legacy libraries
+foreach(flavor ${jerasure_legacy_flavors})
+ set(plugin_name "ec_shec_${flavor}")
+ add_library(${plugin_name} SHARED ${ec_shec_objs})
+ set_target_properties(${plugin_name} PROPERTIES
+ INSTALL_RPATH "")
+ install(TARGETS ${plugin_name} DESTINATION ${erasure_plugin_dir})
+ add_dependencies(ec_shec ${plugin_name})
+endforeach()