project(ascendcl_cpp_utest)
include_directories(${BASE_DIR})
include_directories(${BASE_DIR}/include)
include_directories(${BASE_DIR}/include/external)
include_directories(${BASE_DIR}/include/external/acl)
include_directories(${BASE_DIR}/src/acl/common)
include_directories(${TOP_DIR}/pkg_inc/runtime)
include_directories(${TOP_DIR}/pkg_inc/runtime/runtime)
include_directories(${CMAKE_BINARY_DIR})
include_directories(${CMAKE_BINARY_DIR}/include_acl)
include_directories(${CMAKE_BINARY_DIR}/include_acl/tdt)
include_directories(${BASE_DIR}/pkg_inc)
include_directories(${BASE_DIR}/pkg_inc/base)
include_directories(${BASE_DIR}/pkg_inc/profiling)
include_directories(${BASE_DIR}/pkg_inc/dump)
include_directories(${BASE_DIR}/pkg_inc/watchdog)
include_directories(${TOP_DIR}/src/dfx/log/inc)
include_directories(${TOP_DIR}/src/inc)
include_directories(${BASE_DIR}/src/acl)
include_directories(${BASE_DIR}/src/acl/aclrt)
include_directories(${BASE_DIR}/src/acl/aclrt_impl)
include_directories(${BASE_DIR}/tests/depends/)
include_directories(${BASE_DIR}/include/dfx)
include_directories(${BASE_DIR}/src/runtime/inc/kernel)
include_directories(${BASE_DIR}/include/dfx)
set(UT_FILES
"test.cpp"
"compatibility/enum_check.cpp"
"compatibility/const_check.cpp"
"compatibility/struct_check.cpp"
"compatibility/cast_to_other_check.cpp"
"acl_common_unittest.cpp"
"acl_capability_unittest.cpp"
"acl_toolchain_unittest.cpp"
"acl_fp16_unittest.cpp"
"acl_runtime_unittest.cpp"
"acl_tensorDataTransfer_unittest.cpp"
"acl_queue_unittest.cpp"
"acl_mdlri_unittest.cpp"
)
set(SRC_FILES
${BASE_DIR}/src/acl/common/log_inner.cpp
${BASE_DIR}/src/acl/common/prof_reporter.cpp
${BASE_DIR}/src/acl/common/resource_statistics.cpp
${BASE_DIR}/src/acl/aclrt_impl/device.cpp
${BASE_DIR}/src/acl/aclrt_impl/dfx.cpp
${BASE_DIR}/src/acl/aclrt_impl/event.cpp
${BASE_DIR}/src/acl/aclrt_impl/stream.cpp
${BASE_DIR}/src/acl/aclrt_impl/memory.cpp
${BASE_DIR}/src/acl/aclrt_impl/context.cpp
${BASE_DIR}/src/acl/aclrt_impl/callback.cpp
${BASE_DIR}/src/acl/aclrt_impl/group.cpp
${BASE_DIR}/src/acl/aclrt_impl/kernel.cpp
${BASE_DIR}/src/acl/aclrt_impl/notify.cpp
${BASE_DIR}/src/acl/aclrt_impl/label.cpp
${BASE_DIR}/src/acl/aclrt_impl/acl_rt_impl_base.cpp
${BASE_DIR}/src/acl/aclrt_impl/model_ri.cpp
${BASE_DIR}/src/acl/aclrt_impl/callback_api.cpp
${BASE_DIR}/src/acl/aclrt_impl/init_callback_manager.cpp
${BASE_DIR}/src/acl/aclrt_impl/snapshot.cpp
${BASE_DIR}/src/acl/aclrt_impl/data_buffer.cpp
${BASE_DIR}/src/acl/aclrt_impl/allocator.cpp
${BASE_DIR}/src/acl/aclrt_impl/log.cpp
${BASE_DIR}/src/acl/aclrt_impl/toolchain/dump.cpp
${BASE_DIR}/src/acl/aclrt_impl/toolchain/profiling.cpp
${BASE_DIR}/src/acl/aclrt_impl/toolchain/profiling_manager.cpp
${BASE_DIR}/src/acl/common/json_parser.cpp
${BASE_DIR}/src/acl/utils/string_utils.cpp
${BASE_DIR}/src/acl/utils/cann_info_utils.cpp
${BASE_DIR}/src/acl/utils/hash_utils.cpp
${BASE_DIR}/src/acl/utils/file_utils.cpp
${BASE_DIR}/src/acl/aclrt_impl/acl.cpp
${BASE_DIR}/src/acl/aclrt_impl/types/fp16.cpp
${BASE_DIR}/src/acl/aclrt_impl/types/fp16_impl.cpp
${BASE_DIR}/src/acl/aclrt/acl_rt.cpp
${BASE_DIR}/src/acl/acl_tdt_channel/tensor_data_transfer.cpp
${BASE_DIR}/src/acl/acl_tdt_queue/queue.cpp
${BASE_DIR}/src/acl/acl_tdt_queue/queue_manager.cpp
${BASE_DIR}/src/acl/acl_tdt_queue/queue_process.cpp
${BASE_DIR}/src/acl/acl_tdt_queue/queue_process_host.cpp
${BASE_DIR}/src/acl/acl_tdt_queue/queue_process_sp.cpp
${BASE_DIR}/src/acl/acl_tdt_queue/queue_process_ccpu.cpp
${BASE_DIR}/src/acl/acl_tdt_queue/toolchain/prof_api_reg.cpp
)
add_library(ut_ascendcl_src STATIC
${SRC_FILES}
)
add_dependencies(ut_ascendcl_src copy_acl_headers_and_libs)
target_include_directories(ut_ascendcl_src PRIVATE
${CMAKE_BINARY_DIR}/include_acl
${CMAKE_BINARY_DIR}/include_acl/tdt
)
target_compile_definitions(ut_ascendcl_src PRIVATE
google=ascend_private
ENABLE_DVPP_INTERFACE
RUN_TEST
$<$<BOOL:${ENABLE_OPEN_SRC}>:ONLY_COMPILE_OPEN_SRC>
$<$<BOOL:${ENABLE_UT}>:ONLY_ENABLE_ACL_UT>
)
target_compile_options(ut_ascendcl_src PRIVATE
-g --coverage -fprofile-arcs -ftest-coverage -fno-access-control
-Wall -Wextra -Wfloat-equal -Werror
)
target_link_libraries(ut_ascendcl_src PRIVATE
$<BUILD_INTERFACE:intf_pub>
$<BUILD_INTERFACE:c_sec_headers>
c_sec
json
)
add_executable(ascendcl_cpp_utest ${UT_FILES})
add_dependencies(ascendcl_cpp_utest copy_acl_headers_and_libs)
target_include_directories(ascendcl_cpp_utest PRIVATE
${CMAKE_BINARY_DIR}/include_acl
${CMAKE_BINARY_DIR}/include_acl/tdt
)
target_compile_options(ascendcl_cpp_utest PRIVATE
-O0
-g
-Wno-deprecated-declarations
-Wall -Wfloat-equal -Werror -Wextra
-fno-access-control
)
target_compile_definitions(ascendcl_cpp_utest PRIVATE
google=ascend_private
ENABLE_DVPP_INTERFACE
ACL_BASE_DIR=\"${BASE_DIR}\"
)
target_link_libraries(ascendcl_cpp_utest PRIVATE
$<BUILD_INTERFACE:intf_pub>
$<BUILD_INTERFACE:c_sec_headers>
ut_ascendcl_src
json
GTestShared::gtest
GTestShared::gtest_main
GTestShared::gmock
GTestShared::gmock_main
slog_stub
c_sec
mmpa_stub
ge_stub
tdt_stub
toolchain_stub
runtime_stub
profiling_stub
-lrt
-ldl
-lpthread
-lgcov
)