cmake_minimum_required(VERSION 3.14)
project(recomand_network_inference)
if (DEFINED ENV{ASCEND_HOME_PATH})
set(ASCEND_PATH $ENV{ASCEND_HOME_PATH})
else ()
set(ASCEND_PATH /usr/local/Ascend/cann)
endif ()
set(common_compile_options
-std=c++17
-Wall
-D_GLIBCXX_USE_CXX11_ABI=0
)
message(STATUS "Ascend Toolkit path: ${ASCEND_PATH}")
set(ASCEND_INCLUDE_DIRS
${CMAKE_SOURCE_DIR}/src
${ASCEND_PATH}/include
${ASCEND_PATH}/include/ge
${ASCEND_PATH}/include/parser
${ASCEND_PATH}/include/acl
)
set(ASCEND_LIB_DIRS
${ASCEND_PATH}/lib64
)
set(ASCEND_LIBS
ge_compiler
graph
graph_base
ge_common
ge_common_base
ascendcl
ge_runner
fmk_parser
)
foreach (LIB ${ASCEND_LIBS})
find_library(${LIB}_PATH ${LIB} PATHS ${ASCEND_LIB_DIRS})
if (NOT ${LIB}_PATH)
message(FATAL_ERROR "Required library not found: ${LIB}")
else ()
message(STATUS "Found library: ${LIB} at ${${LIB}_PATH}")
endif ()
endforeach ()
function(setup_target target_name)
target_include_directories(${target_name} PRIVATE ${ASCEND_INCLUDE_DIRS})
target_link_directories(${target_name} PRIVATE ${ASCEND_LIB_DIRS})
target_link_libraries(${target_name} PRIVATE ${ASCEND_LIBS})
target_compile_options(${target_name} PRIVATE ${common_compile_options})
endfunction()
add_library(model_inference SHARED
src/model_inference.cpp
)
setup_target(model_inference)
add_executable(recomand_exec
src/recomand_random_input.cpp
)
setup_target(recomand_exec)
target_link_libraries(recomand_exec PRIVATE model_inference)