# jerasure plugin set(jerasure_obj_srcs jerasure/src/cauchy.c jerasure/src/galois.c jerasure/src/jerasure.c jerasure/src/liberation.c jerasure/src/reed_sol.c gf-complete/src/gf_wgen.c gf-complete/src/gf_method.c gf-complete/src/gf_w16.c gf-complete/src/gf.c gf-complete/src/gf_w32.c gf-complete/src/gf_w64.c gf-complete/src/gf_w128.c gf-complete/src/gf_general.c gf-complete/src/gf_w4.c gf-complete/src/gf_rand.c gf-complete/src/gf_w8.c ) add_library(jerasure_objs OBJECT ${jerasure_obj_srcs}) add_library(ec_jerasure_objs OBJECT ErasureCodePluginJerasure.cc ErasureCodeJerasure.cc ) add_library(ec_jerasure_generic SHARED $ $ $ ) add_dependencies(ec_jerasure_generic ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_jerasure_generic crush ${EXTRALIBS}) set_target_properties(ec_jerasure_generic PROPERTIES VERSION 2.0.0 SOVERSION 2) install(TARGETS ec_jerasure_generic DESTINATION lib/erasure-code) # ec_jerasure_neon #TODO:build libec_jerasure_neon library on an ARM machine if(ARM_NEON OR ARM_NEON2) set(neon_objs_srcs gf-complete/src/neon/gf_w4_neon.c gf-complete/src/neon/gf_w8_neon.c gf-complete/src/neon/gf_w16_neon.c gf-complete/src/neon/gf_w32_neon.c gf-complete/src/neon/gf_w64_neon.c) add_library(neon_objs OBJECT ${neon_objs_srcs}) set(jerasure_neon_srcs $ $ $ $ ) add_library(ec_jerasure_neon SHARED ${jerasure_neon_srcs}) add_dependencies(ec_jerasure_neon ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_jerasure_neon crush pthread ${EXTRALIBS}) set_target_properties(ec_jerasure_neon PROPERTIES VERSION 2.0.0 SOVERSION 2 COMPILE_FLAGS ${ARM_NEON_FLAGS}) install(TARGETS ec_jerasure_neon DESTINATION lib/erasure-code) endif(ARM_NEON OR ARM_NEON2) # ec_jerasure_sse3 if(INTEL_SSE) add_library(ec_jerasure_sse3 SHARED $ $ $ ) add_dependencies(ec_jerasure_sse3 ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_jerasure_sse3 crush ${EXTRALIBS}) set_target_properties(ec_jerasure_sse3 PROPERTIES VERSION 2.0.0 SOVERSION 2 COMPILE_FLAGS ${SSE3_FLAGS}) install(TARGETS ec_jerasure_sse3 DESTINATION lib/erasure-code) endif(INTEL_SSE) # ec_jerasure_sse4 if(INTEL_SSE4_1) add_library(ec_jerasure_sse4 SHARED $ $ $ ) add_dependencies(ec_jerasure_sse4 ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_jerasure_sse4 crush ${EXTRALIBS}) set_target_properties(ec_jerasure_sse4 PROPERTIES VERSION 2.0.0 SOVERSION 2 COMPILE_FLAGS ${SSE4_FLAGS}) install(TARGETS ec_jerasure_sse4 DESTINATION lib/erasure-code) endif(INTEL_SSE4_1) add_library(ec_jerasure SHARED ErasureCodePluginSelectJerasure.cc) add_dependencies(ec_jerasure ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_jerasure ${EXTRALIBS}) set_target_properties(ec_jerasure PROPERTIES VERSION 2.0.0 SOVERSION 2) install(TARGETS ec_jerasure DESTINATION lib/erasure-code)