cmake_minimum_required(VERSION 3.16.3)
project(pypto_ctrl_server LANGUAGES C CXX)
if (BUILD_WITH_CANN)
set(CMAKE_C_COMPILER "${ASCEND_CANN_PACKAGE_PATH}/toolkit/toolchain/hcc/bin/aarch64-target-linux-gnu-gcc")
set(CMAKE_CXX_COMPILER "${ASCEND_CANN_PACKAGE_PATH}/toolkit/toolchain/hcc/bin/aarch64-target-linux-gnu-g++")
endif ()
message(STATUS "CMAKE_GENERATOR=${CMAKE_GENERATOR}")
message(STATUS "CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
file(GLOB CTRL_FILES RELATIVE ${CMAKE_CURRENT_LIST_DIR}
device_ctrl.cpp
context/*.cpp
)
add_library(pypto_ctrl_server STATIC)
target_sources(pypto_ctrl_server PRIVATE ${CTRL_FILES} ${_Device_Utils_Srcs})
target_compile_options(pypto_ctrl_server
PRIVATE
-Wall
-Wextra
-std=gnu++17
-rdynamic
-O3
-shared
-fPIC
-D__DEVICE__
-Werror
-D__USE_CUSTOM_CTRLFLOW__
)
target_include_directories(pypto_ctrl_server
PRIVATE
${PTO_FWK_SRC_ROOT}/framework/include
${PTO_FWK_SRC_ROOT}/framework/src
${PTO_FWK_SRC_ROOT}/framework/src/include
${PTO_FWK_SRC_ROOT}/framework/src/interface
${PTO_FWK_SRC_ROOT}/framework/src/interface/machine/device
PRIVATE
$<BUILD_INTERFACE:$<$<BOOL:${BUILD_WITH_CANN}>:${ASCEND_CANN_PACKAGE_PATH}/include>>
$<BUILD_INTERFACE:$<$<BOOL:${BUILD_WITH_CANN}>:${ASCEND_CANN_PACKAGE_PATH}/include/toolchain>>
$<BUILD_INTERFACE:$<$<BOOL:${BUILD_WITH_CANN}>:${ASCEND_CANN_PACKAGE_PATH}/pkg_inc/base>>
$<BUILD_INTERFACE:$<$<BOOL:${BUILD_WITH_CANN}>:${ASCEND_CANN_PACKAGE_PATH}/pkg_inc>>
)
target_link_directories(pypto_ctrl_server
PRIVATE
$<$<BOOL:${BUILD_WITH_CANN}>:${ASCEND_CANN_PACKAGE_PATH}/${CMAKE_SYSTEM_PROCESSOR}-linux/devlib/linux/aarch64/>
$<$<BOOL:${BUILD_WITH_CANN}>:${ASCEND_CANN_PACKAGE_PATH}/${CMAKE_SYSTEM_PROCESSOR}-linux/devlib/device/>
$<$<BOOL:${BUILD_WITH_CANN}>:${ASCEND_CANN_PACKAGE_PATH}/lib64>
)
target_link_libraries(pypto_ctrl_server
PRIVATE
-Wl,--no-as-needed
c_sec
slog_stub
-ldl
$<$<TARGET_EXISTS:intf_pub>:$<BUILD_INTERFACE:intf_pub>>
)
set_target_properties(pypto_ctrl_server PROPERTIES OUTPUT_NAME pypto_ctrl_server)
if (NOT ENABLE_FEATURE_PYTHON_FRONT_END)
install(TARGETS pypto_ctrl_server ARCHIVE DESTINATION lib OPTIONAL)
endif ()