718c41634f
1.项目后端整体迁移至PaddleOCR-NCNN算法,已通过基本的兼容性测试 2.工程改为使用CMake组织,后续为了更好地兼容第三方库,不再提供QMake工程 3.重整权利声明文件,重整代码工程,确保最小化侵权风险 Log: 切换后端至PaddleOCR-NCNN,切换工程为CMake Change-Id: I4d5d2c5d37505a4a24b389b1a4c5d12f17bfa38c
62 lines
1.5 KiB
CMake
62 lines
1.5 KiB
CMake
project(mlir2ncnn)
|
|
|
|
cmake_minimum_required(VERSION 3.10)
|
|
set(CMAKE_CXX_STANDARD 14)
|
|
|
|
set(LLVM_PROJECT_INSTALL_DIR "/home/nihui/osd/llvm-project/build/install" CACHE STRING "")
|
|
|
|
set(LLVM_DIR "${LLVM_PROJECT_INSTALL_DIR}/lib/cmake/llvm")
|
|
find_package(LLVM REQUIRED)
|
|
|
|
set(MLIR_DIR "${LLVM_PROJECT_INSTALL_DIR}/lib/cmake/mlir")
|
|
find_package(MLIR REQUIRED)
|
|
|
|
add_definitions(-fno-rtti -fno-exceptions)
|
|
|
|
include_directories("${LLVM_PROJECT_INSTALL_DIR}/include")
|
|
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
include(${LLVM_DIR}/TableGen.cmake)
|
|
include(${MLIR_DIR}/AddMLIR.cmake)
|
|
|
|
set(LLVM_TARGET_DEFINITIONS tf_ops.td)
|
|
mlir_tablegen(tf_all_ops.h.inc -gen-op-decls)
|
|
mlir_tablegen(tf_all_ops.cc.inc -gen-op-defs)
|
|
add_public_tablegen_target(tf_opsIncGen)
|
|
|
|
set(LLVM_TARGET_DEFINITIONS ncnn_ops.td)
|
|
mlir_tablegen(ncnn_ops.h.inc -gen-op-decls)
|
|
mlir_tablegen(ncnn_ops.cc.inc -gen-op-defs)
|
|
add_public_tablegen_target(ncnn_opsIncGen)
|
|
|
|
set(LLVM_TARGET_DEFINITIONS ncnn_rewriter.td)
|
|
mlir_tablegen(ncnn_rewriter.inc -gen-rewriters)
|
|
add_public_tablegen_target(ncnn_rewriterIncGen)
|
|
|
|
add_executable(mlir2ncnn
|
|
mlir2ncnn.cpp
|
|
ncnn_dialect.cpp
|
|
ncnn_rewriter.cpp
|
|
tf_dialect.cpp
|
|
tf_attributes.cc
|
|
tf_types.cc
|
|
)
|
|
|
|
add_dependencies(mlir2ncnn
|
|
tf_opsIncGen
|
|
ncnn_opsIncGen
|
|
ncnn_rewriterIncGen
|
|
)
|
|
|
|
target_link_libraries(mlir2ncnn
|
|
MLIRIR
|
|
MLIRDialect
|
|
MLIRInferTypeOpInterface
|
|
MLIRParser
|
|
MLIRPass
|
|
MLIRStandard
|
|
MLIRTransforms
|
|
)
|
|
ncnn_install_tool(mlir2ncnn)
|