cmake_minimum_required(VERSION 3.16)
project(sample LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
add_compile_definitions(
_GLIBCXX_USE_CXX11_ABI=0
google=ascend_private
)
set(ASCEND_INSTALL_PATH $ENV{ASCEND_HOME_PATH})
set(ASCEND_LIB_DIR ${ASCEND_INSTALL_PATH}/lib64)
message(STATUS "ASCEND_LIB_DIR = ${ASCEND_LIB_DIR}")
message(STATUS "CMAKE_CURRENT_SOURCE_DIR = ${CMAKE_CURRENT_SOURCE_DIR}")
set(CMAKE_PREFIX_PATH ${ASCEND_LIB_DIR} ${CMAKE_PREFIX_PATH})
list(APPEND CMAKE_MODULE_PATH "${ASCEND_INSTALL_PATH}/include/ge/cmake")
find_package(GenerateEsPackage REQUIRED)
add_library(opgraph_all INTERFACE)
set_target_properties(opgraph_all PROPERTIES
INTERFACE_LIBRARY_OUTPUT_DIRECTORY "${ASCEND_INSTALL_PATH}/opp/built-in/op_proto"
)
add_es_library(
ES_LINKABLE_AND_ALL_TARGET es_all
OPP_PROTO_TARGET opgraph_all
OUTPUT_PATH ${CMAKE_BINARY_DIR}/output
EXCLUDE_OPS Conv2D,ConcatD
)
file(GLOB CPP_FILES CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/custom/*.cpp")
add_library(self_defined_es_lib SHARED ${CPP_FILES})
find_library(GRAPH_LIB NAMES graph)
target_include_directories(self_defined_es_lib
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/custom
)
target_link_libraries(self_defined_es_lib PUBLIC es_all)
add_dependencies(self_defined_es_lib es_all)
add_executable(sample src/main.cc)
target_link_libraries(sample PRIVATE
${GRAPH_LIB}
self_defined_es_lib
c_sec
)