llama-cpp-turboquant/test/CMakeLists.txt
Fabian Sauter 50ffbbc01a Replaced .gitmodules with fetch_content
Signed-off-by: Fabian Sauter <sauter.fabian@mailbox.org>
2022-07-27 12:48:04 +02:00

81 lines
2.5 KiB
CMake

# SPDX-License-Identifier: Apache-2.0
#####################################################
#################### GOOGLETEST #####################
#####################################################
enable_testing()
file(GLOB test_kompute_CPP
"${CMAKE_CURRENT_SOURCE_DIR}/*.cpp"
)
add_executable(test_kompute ${test_kompute_CPP})
target_include_directories(
test_kompute PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/single_include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/compiled_shaders_include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/utils>
)
target_link_libraries(test_kompute kompute GTest::GTest)
add_test(NAME test_kompute COMMAND test_kompute)
#####################################################
#################### CODECOV #######################
#####################################################
if (KOMPUTE_OPT_CODE_COVERAGE)
if(NOT UNIX)
message(
FATAL_ERROR
"KOMPUTE_OPT_CODE_COVERAGE can only be enabled in unix based systems due to limitation on gcov")
endif()
add_custom_target(codecov_run_tests
COMMAND make -C ${PROJECT_SOURCE_DIR} mk_run_tests
DEPENDS test_kompute)
add_custom_target(codecov_copy_files
COMMAND ${CMAKE_COMMAND}
-E copy_directory
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/test_kompute.dir/
${CODECOV_DIR}
COMMAND ${CMAKE_COMMAND}
-E copy_directory
${CMAKE_CURRENT_BINARY_DIR}/../src/CMakeFiles/kompute.dir/
${CODECOV_DIR}
DEPENDS test_kompute codecov_run_tests)
add_custom_target(codecov_gcov
COMMAND gcov
-b -c "*.gcno"
WORKING_DIRECTORY ${CODECOV_DIR}
DEPENDS codecov_copy_files)
add_custom_target(codecov_lcov_capture
COMMAND lcov
--capture
-o ${CODECOV_FILENAME_LCOV_INFO_FULL}
-d .
WORKING_DIRECTORY ${CODECOV_DIR}
DEPENDS codecov_gcov)
add_custom_target(codecov_lcov_extract
COMMAND lcov
--extract
${CODECOV_FILENAME_LCOV_INFO_FULL}
-o ${CODECOV_FILENAME_LCOV_INFO}
-d .
"*/src/*"
WORKING_DIRECTORY ${CODECOV_DIR}
DEPENDS codecov_lcov_capture)
add_custom_target(codecov_genhtml
COMMAND genhtml
${CODECOV_FILENAME_LCOV_INFO}
--output-directory ${CODECOV_DIR_HTML}
WORKING_DIRECTORY ${CODECOV_DIR}
DEPENDS codecov_lcov_extract)
endif()