]> git.proxmox.com Git - ceph.git/blob - ceph/src/erasure-code/CMakeLists.txt
update sources to 12.2.8
[ceph.git] / ceph / src / erasure-code / CMakeLists.txt
1 ## erasure code plugins
2
3 set(erasure_plugin_dir ${CMAKE_INSTALL_PKGLIBDIR}/erasure-code)
4
5 #jerasure subdir must be before shec so jerasure & neon obj libs are declared
6 include_directories(jerasure/jerasure/include)
7 include_directories(jerasure/gf-complete/include)
8 include_directories(jerasure)
9
10 # legacy jerasure flavors. these are left here for backward compatibility
11 # and should be removed in future versions
12 set(jerasure_legacy_flavors generic)
13 if(HAVE_ARM)
14 list(APPEND jerasure_legacy_flavors neon)
15 endif()
16 if(HAVE_INTEL)
17 list(APPEND jerasure_legacy_flavors sse3 sse4)
18 endif()
19
20 add_subdirectory(jerasure)
21 add_subdirectory(lrc)
22 add_subdirectory(shec)
23
24 if (HAVE_BETTER_YASM_ELF64)
25 add_subdirectory(isa)
26 set(EC_ISA_LIB ec_isa)
27 endif (HAVE_BETTER_YASM_ELF64)
28
29 add_library(erasure_code STATIC ErasureCodePlugin.cc)
30 target_link_libraries(erasure_code ${CMAKE_DL_LIBS})
31 add_dependencies(erasure_code ${CMAKE_SOURCE_DIR}/src/ceph_ver.h)
32
33 add_library(erasure_code_objs OBJECT ErasureCode.cc)
34
35 add_custom_target(erasure_code_plugins DEPENDS
36 ${EC_ISA_LIB}
37 ec_lrc
38 ec_jerasure
39 ec_shec)