cmake_minimum_required(VERSION 3.14.1)
project(ACCSDK)
set(CMAKE_SKIP_BUILD_RPATH TRUE)
set(CMAKE_SKIP_INSTALL_RPATH TRUE)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
include_directories(include)
include_directories(source/inc)
include_directories(source/py/include)
include_directories(
$ENV{ASCEND_TOOLKIT_HOME}/acllib/include
${PROJECT_SOURCE_DIR}/opensource/libjpeg-turbo/include
${PROJECT_SOURCE_DIR}/opensource/FFmpeg/include
${PROJECT_SOURCE_DIR}/opensource/soxr/include
${PROJECT_SOURCE_DIR}/acc_data/src/cpp/interface/
)
link_directories(
$ENV{ASCEND_TOOLKIT_HOME}/acllib/lib64
${PROJECT_SOURCE_DIR}/opensource/libjpeg-turbo/lib
${PROJECT_SOURCE_DIR}/opensource/FFmpeg/lib
${PROJECT_SOURCE_DIR}/opensource/soxr/lib
)
set(SECUREC_PATH /usr/local/Ascend/driver)
file(GLOB_RECURSE SECUREC_LIB_FILES
${SECUREC_PATH}/libsecurec.so
)
if(NOT SECUREC_LIB_FILES)
message(FATAL_ERROR "libsecurec.so not found under ${SECUREC_PATH}")
endif()
list(GET SECUREC_LIB_FILES 0 SECUREC_LIB_PATH)
get_filename_component(SECUREC_LIB_DIR ${SECUREC_LIB_PATH} DIRECTORY)
link_directories(${SECUREC_LIB_DIR})
set(SECUREC_LIB securec)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--copy-dt-needed-entries")
add_compile_options(-std=c++17 -fPIE -fstack-protector-all -fPIC -Wall -Wextra -Wfloat-equal -pipe)
if(BUILD_TESTS)
include_directories("$ENV{GTEST_HOME}/include")
link_directories("$ENV{GTEST_HOME}/../build/lib")
add_compile_options(-g)
add_compile_options(--coverage -fprofile-arcs -ftest-coverage -fprofile-update=atomic)
add_link_options(-Wl,-z,relro,-z,now,-z,noexecstack -pie --coverage)
enable_testing()
add_subdirectory(test)
else()
add_compile_options(-O2)
add_link_options(-Wl,-z,relro,-z,now,-z,noexecstack -s -pie)
endif()
add_subdirectory(source)