From: Matt Benjamin Date: Wed, 20 Jan 2016 22:48:44 +0000 (-0500) Subject: cmake: fix paths & make object libs of various EC files X-Git-Tag: v10.1.0~298^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cc9907296f5223e25cfee076dc563e2e4816cb64;p=ceph.git cmake: fix paths & make object libs of various EC files Signed-off-by: Matt Benjamin --- diff --git a/src/erasure-code/CMakeLists.txt b/src/erasure-code/CMakeLists.txt index 3bc8f193c388..0f406bc441a4 100644 --- a/src/erasure-code/CMakeLists.txt +++ b/src/erasure-code/CMakeLists.txt @@ -63,6 +63,10 @@ else(INTEL_SSE4_1) message(STATUS "Skipping target ec_jerasure_sse4 & ec_shec_sse4: -msse4.1 not supported") endif(INTEL_SSE4_1) +#jerasure subdir must be before shec so jerasure & neon obj libs are declared +include_directories(jerasure/jerasure/include) +include_directories(jerasure/gf-complete/include) +include_directories(jerasure) add_subdirectory(jerasure) add_subdirectory(lrc) add_subdirectory(shec) diff --git a/src/erasure-code/jerasure/CMakeLists.txt b/src/erasure-code/jerasure/CMakeLists.txt index c2fb1ef1de75..45b0da47028c 100644 --- a/src/erasure-code/jerasure/CMakeLists.txt +++ b/src/erasure-code/jerasure/CMakeLists.txt @@ -1,9 +1,6 @@ # jerasure plugin -include_directories(gf-complete/include) -include_directories(jerasure/include) - -set(jerasure_srcs +set(jerasure_obj_srcs jerasure/src/cauchy.c jerasure/src/galois.c jerasure/src/jerasure.c @@ -20,28 +17,40 @@ set(jerasure_srcs 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 ${jerasure_srcs}) +add_library(ec_jerasure_generic SHARED + $ + $ + $ + ) add_dependencies(ec_jerasure_generic ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_jerasure_generic ${EXTRALIBS}) set_target_properties(ec_jerasure_generic PROPERTIES VERSION 2.0.0 SOVERSION 2) install(TARGETS ec_jerasure_generic DESTINATION lib/erasure-code) -set(jerasure_neon_srcs - ${jerasure_srcs} - erasure-code/jerasure/gf-complete/src/neon/gf_w4_neon.c - erasure-code/jerasure/gf-complete/src/neon/gf_w8_neon.c - erasure-code/jerasure/gf-complete/src/neon/gf_w16_neon.c - erasure-code/jerasure/gf-complete/src/neon/gf_w32_neon.c - erasure-code/jerasure/gf-complete/src/neon/gf_w64_neon.c) - - +# 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}) @@ -52,7 +61,9 @@ endif(ARM_NEON OR ARM_NEON2) # ec_jerasure_sse3 if(INTEL_SSE) - add_library(ec_jerasure_sse3 SHARED ${jerasure_srcs}) + add_library(ec_jerasure_sse3 SHARED + $ + $) add_dependencies(ec_jerasure_sse3 ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_jerasure_sse3 ${EXTRALIBS}) set_target_properties(ec_jerasure_sse3 PROPERTIES VERSION 2.0.0 SOVERSION 2 @@ -62,7 +73,9 @@ endif(INTEL_SSE) # ec_jerasure_sse4 if(INTEL_SSE4_1) - add_library(ec_jerasure_sse4 SHARED ${jerasure_srcs}) + add_library(ec_jerasure_sse4 SHARED + $ + $) add_dependencies(ec_jerasure_sse4 ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_jerasure_sse4 ${EXTRALIBS}) set_target_properties(ec_jerasure_sse4 PROPERTIES VERSION 2.0.0 SOVERSION 2 diff --git a/src/erasure-code/shec/CMakeLists.txt b/src/erasure-code/shec/CMakeLists.txt index efe156a146c9..f504e8b230a7 100644 --- a/src/erasure-code/shec/CMakeLists.txt +++ b/src/erasure-code/shec/CMakeLists.txt @@ -1,49 +1,33 @@ #shec plugin -set(shec_srcs +include_directories(.) + +set(shec_objs_srcs ${CMAKE_SOURCE_DIR}/src/erasure-code/ErasureCode.cc ErasureCodePluginShec.cc ErasureCodeShec.cc ErasureCodeShecTableCache.cc determinant.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/src/cauchy.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/src/galois.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/src/jerasure.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/src/liberation.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/src/reed_sol.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_wgen.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_method.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w16.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w32.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w64.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w128.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_general.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w4.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_rand.c - ${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/src/gf_w8.c) + ) + +add_library(shec_objs OBJECT ${shec_objs_srcs}) -include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/jerasure/include) -include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure/gf-complete/include) -include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/jerasure) -include_directories(${CMAKE_SOURCE_DIR}/src/erasure-code/shec) -add_library(ec_shec_generic SHARED ${shec_srcs}) +add_library(ec_shec_generic SHARED + $ + $) target_link_libraries(ec_shec_generic crush pthread) add_dependencies(ec_shec_generic ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) set_target_properties(ec_shec_generic PROPERTIES VERSION 1.0.0 SOVERSION 1) install(TARGETS ec_shec_generic DESTINATION lib/erasure-code) -# ec_shec_sse3 -set(shec_neon_srcs - ${shec_srcs} - erasure-code/jerasure/gf-complete/src/neon/gf_w4_neon.c - erasure-code/jerasure/gf-complete/src/neon/gf_w8_neon.c - erasure-code/jerasure/gf-complete/src/neon/gf_w16_neon.c - erasure-code/jerasure/gf-complete/src/neon/gf_w32_neon.c - erasure-code/jerasure/gf-complete/src/neon/gf_w64_neon.c) - +# ec_shec_neon #TODO:build libec_shec_neon library on an ARM machine if(ARM_NEON OR ARM_NEON2) + set(shec_neon_srcs + $ + $ + $ + ) add_library(ec_shec_neon SHARED ${shec_neon_srcs}) add_dependencies(ec_shec_neon ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_shec_neon ${EXTRALIBS}) @@ -54,7 +38,9 @@ endif(ARM_NEON OR ARM_NEON2) # ec_shec_sse3 if(INTEL_SSE) - add_library(ec_shec_sse3 SHARED ${shec_srcs}) + add_library(ec_shec_sse3 SHARED + $ + $) add_dependencies(ec_shec_sse3 ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_shec_sse3 ${EXTRALIBS}) set_target_properties(ec_shec_sse3 PROPERTIES VERSION 2.0.0 SOVERSION 2 @@ -64,7 +50,9 @@ endif(INTEL_SSE) # ec_shec_sse4 if(INTEL_SSE4_1) - add_library(ec_shec_sse4 SHARED ${shec_srcs}) + add_library(ec_shec_sse4 SHARED + $ + $) add_dependencies(ec_shec_sse4 ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_shec_sse4 ${EXTRALIBS}) set_target_properties(ec_shec_sse4 PROPERTIES VERSION 2.0.0 SOVERSION 2