CMakeLists.txt 1.7 KB
Newer Older
L
Liangliang He 已提交
1 2 3
file(GLOB OPS_COMMON_SRCS common/*.cc)
file(GLOB OPS_REF_KERNELS_SRCS ref/*.cc)

4 5 6 7
file(GLOB OPS_REF_Q8_KERNELS_SRCS
  ref/q8/*.cc
)

8 9 10
file(GLOB OPS_ARM_NEON_BASE_KERNELS_SRCS
  arm/base/*.cc
)
L
Liangliang He 已提交
11 12 13
file(GLOB OPS_ARM_NEON_FP32_KERNELS_SRCS
  arm/fp32/*.cc
)
B
Bin Li 已提交
14 15 16
file(GLOB OPS_ARM_NEON_BF16_KERNELS_SRCS
  arm/bf16/*.cc
)
L
lichao18 已提交
17 18 19
file(GLOB OPS_ARM_NEON_FP16_KERNELS_SRCS
  arm/fp16/*.cc
)
L
Liangliang He 已提交
20 21 22 23 24 25 26 27 28 29 30 31 32
file(GLOB OPS_ARM_NEON_Q8_KERNELS_SRCS
  arm/q8/*.cc
)

file(GLOB OPS_OPENCL_KERNELS_SRCS
  opencl/*.cc
  opencl/cl/*.cc
  opencl/buffer/*.cc
  opencl/image/*.cc
)

file(GLOB OPS_INTERNAL_OPS_SRCS *.cc)

33
set(OPS_SRCS registry/ops_registry.cc registry/op_delegators_registry.cc)
L
Liangliang He 已提交
34 35 36 37 38
set(OPS_SRCS ${OPS_SRCS} ${OPS_COMMON_SRCS})
set(OPS_SRCS ${OPS_SRCS} ${OPS_INTERNAL_OPS_SRCS})
# TODO we need to remove this in production build
set(OPS_SRCS ${OPS_SRCS} ${OPS_REF_KERNELS_SRCS}) 

39 40 41 42
if(MACE_ENABLE_QUANTIZE)
  set(OPS_SRCS ${OPS_SRCS} ${OPS_REF_Q8_KERNELS_SRCS})
endif(MACE_ENABLE_QUANTIZE)

L
Liangliang He 已提交
43
if(MACE_ENABLE_NEON)
44
  set(OPS_SRCS ${OPS_SRCS} ${OPS_ARM_NEON_BASE_KERNELS_SRCS} ${OPS_ARM_NEON_FP32_KERNELS_SRCS})
45 46 47
  if(MACE_ENABLE_QUANTIZE)
    set(OPS_SRCS ${OPS_SRCS} ${OPS_ARM_NEON_Q8_KERNELS_SRCS})
  endif(MACE_ENABLE_QUANTIZE)
B
Bin Li 已提交
48 49 50
  if(MACE_ENABLE_BFLOAT16)
    set(OPS_SRCS ${OPS_SRCS} ${OPS_ARM_NEON_BF16_KERNELS_SRCS})
  endif(MACE_ENABLE_BFLOAT16)
L
lichao18 已提交
51 52 53
  if(MACE_ENABLE_FP16)
    set(OPS_SRCS ${OPS_SRCS} ${OPS_ARM_NEON_FP16_KERNELS_SRCS})
  endif(MACE_ENABLE_FP16)
L
Liangliang He 已提交
54 55 56 57 58 59 60 61 62 63 64 65 66 67
endif(MACE_ENABLE_NEON)

if(MACE_ENABLE_OPENCL)
  set(OPS_SRCS ${OPS_SRCS} ${OPS_OPENCL_KERNELS_SRCS})
endif(MACE_ENABLE_OPENCL)

add_library(ops STATIC ${OPS_SRCS})
target_link_libraries(ops PRIVATE core proto utils port)

if(MACE_ENABLE_QUANTIZE)
  add_dependencies(ops tflite)
endif(MACE_ENABLE_QUANTIZE)

install(TARGETS ops ARCHIVE DESTINATION lib)