]> git.proxmox.com Git - ceph.git/blame - ceph/src/erasure-code/CMakeLists.txt
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / erasure-code / CMakeLists.txt
CommitLineData
7c673cae
FG
1## erasure code plugins
2
11fdf7f2 3set(erasure_plugin_dir ${CEPH_INSTALL_PKGLIBDIR}/erasure-code)
7c673cae
FG
4
5#jerasure subdir must be before shec so jerasure & neon obj libs are declared
11fdf7f2
TL
6include_directories(SYSTEM jerasure/jerasure/include)
7include_directories(SYSTEM jerasure/gf-complete/include)
7c673cae
FG
8include_directories(jerasure)
9
10# legacy jerasure flavors. these are left here for backward compatibility
11# and should be removed in future versions
12set(jerasure_legacy_flavors generic)
13if(HAVE_ARM)
14 list(APPEND jerasure_legacy_flavors neon)
15endif()
16if(HAVE_INTEL)
17 list(APPEND jerasure_legacy_flavors sse3 sse4)
18endif()
19
20add_subdirectory(jerasure)
21add_subdirectory(lrc)
22add_subdirectory(shec)
11fdf7f2 23add_subdirectory(clay)
7c673cae 24
f67539c2 25if(HAVE_NASM_X64_AVX2 OR HAVE_ARMV8_SIMD)
7c673cae
FG
26 add_subdirectory(isa)
27 set(EC_ISA_LIB ec_isa)
f91f0fd5 28endif()
7c673cae
FG
29
30add_library(erasure_code STATIC ErasureCodePlugin.cc)
f67539c2
TL
31target_link_libraries(erasure_code $<$<PLATFORM_ID:Windows>:dlfcn_win32>
32 ${CMAKE_DL_LIBS})
7c673cae
FG
33
34add_library(erasure_code_objs OBJECT ErasureCode.cc)
35
36add_custom_target(erasure_code_plugins DEPENDS
37 ${EC_ISA_LIB}
38 ec_lrc
39 ec_jerasure
11fdf7f2
TL
40 ec_shec
41 ec_clay)