project(ascendcl_c_utest)
set(UT_FILES
"main.cpp"
"acl_rt_unittest.cpp"
)
set(UT_STUBS
"${CMAKE_CURRENT_SOURCE_DIR}/gmock_executor/ge_executor_stub.cc"
"${CMAKE_CURRENT_SOURCE_DIR}/stub/runtime_stub.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/stub/mmpa_api_stub.cpp"
)
set(SRC_FILES
"${BASE_DIR}/src/acl/aclrt_c/runtime/callback.c"
"${BASE_DIR}/src/acl/aclrt_c/runtime/host_func.c"
"${BASE_DIR}/src/acl/aclrt_c/runtime/context.c"
"${BASE_DIR}/src/acl/aclrt_c/runtime/device.c"
"${BASE_DIR}/src/acl/aclrt_c/runtime/stream.c"
"${BASE_DIR}/src/acl/aclrt_c/runtime/memory.c"
"${BASE_DIR}/src/acl/aclrt_c/common/acl_rt.c"
"${BASE_DIR}/src/acl/aclrt_c/common/model_config_rt.c"
)
set(SRC_CBASE_FILES
"${BASE_DIR}/src/runtime_compact/c_base/src/error_manager.c"
"${BASE_DIR}/src/runtime_compact/c_base/src/json_parser.c"
"${BASE_DIR}/src/runtime_compact/c_base/src/mem_pool.c"
"${BASE_DIR}/src/runtime_compact/c_base/src/ref_obj.c"
"${BASE_DIR}/src/runtime_compact/c_base/src/sort_vector.c"
"${BASE_DIR}/src/runtime_compact/c_base/src/vector.c"
)
add_executable(ascendcl_c_utest
${UT_FILES}
${SRC_FILES}
${UT_STUBS}
${SRC_CBASE_FILES}
)
target_include_directories(ascendcl_c_utest PRIVATE
${BASE_DIR}/include/external
${BASE_DIR}/include/external/acl
${BASE_DIR}/pkg_inc/base
${BASE_DIR}/pkg_inc
${BASE_DIR}/pkg_inc/profiling
${BASE_DIR}/src/acl/aclrt_c
${BASE_DIR}/src/acl/aclrt_c/common
${BASE_DIR}/pkg_inc/runtime
${BASE_DIR}/pkg_inc/runtime/runtime
${BASE_DIR}/src/runtime_compact/c_base/inc
${BASE_DIR}/src/acl/aclrt_c/common
${BASE_DIR}/tests/ut/acl/testcase_c/
${BASE_DIR}/tests/ut/acl/testcase_c/gmock_executor
${BASE_DIR}/tests/ut/acl/testcase_c/stub
${BASE_DIR}/tests/depends/
${BASE_DIR}/tests/depends/
${BASE_DIR}/tests/ut
)
target_compile_options(ascendcl_c_utest PRIVATE
-g -Wall -Wextra -Wfloat-equal -Werror
$<$<BOOL:${ENABLE_ASAN}>:-fsanitize=address,-fsanitize=leak>
$<$<BOOL:${ENABLE_COV}>:--coverage -fprofile-arcs -ftest-coverage>
)
target_compile_definitions(ascendcl_c_utest PRIVATE
google=ascend_private
ENABLE_DVPP_INTERFACE
RUN_TEST
$<IF:$<STREQUAL:${TARGET_SYSTEM_NAME},LiteOS>,NANO_OS_TYPE=1,NANO_OS_TYPE=0>
)
target_link_libraries(ascendcl_c_utest PRIVATE
$<$<BOOL:${ENABLE_ASAN}>:-fsanitize=address,-fsanitize=leak>
$<$<BOOL:${ENABLE_COV}>:-lgcov>
$<BUILD_INTERFACE:intf_pub>
$<BUILD_INTERFACE:c_sec_headers>
c_sec
GTestShared::gtest
GTestShared::gtest_main
GTestShared::gmock
GTestShared::gmock_main
-lrt
-ldl
-lpthread
)