cmake: Create a function for add_gtest

This commit is contained in:
Harish Mahendrakar 2026-03-07 10:06:01 -08:00
parent e0aec79c0d
commit dd5b066300
2 changed files with 22 additions and 13 deletions

View file

@ -130,3 +130,23 @@ function(libhevc_add_gtest)
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
endfunction()
# cmake-format: off
# Adds a target for a gtest executable
#
# Arguments:
# NAME: Name of the executable
#
# Optional Arguments:
# SOURCES: Additional source files
# cmake-format: on
function(libhevc_add_gtest_executable NAME)
set(multi_value_args SOURCES)
cmake_parse_arguments(ARG "" "" "${multi_value_args}" ${ARGN})
libhevc_add_executable(
${NAME} libhevcdec
SOURCES ${HEVC_ROOT}/tests/common/func_selector.cc
${HEVC_ROOT}/tests/common/tests_common.cc ${ARG_SOURCES}
LIBS GTest::gtest_main)
endfunction()

View file

@ -1,18 +1,7 @@
enable_testing()
add_executable(
libhevc_add_gtest_executable(
ihevc_luma_inter_pred_test
${HEVC_ROOT}/tests/common/func_selector.cc
${HEVC_ROOT}/tests/common/tests_common.cc
${HEVC_ROOT}/tests/common/ihevc_luma_inter_pred_test.cc
SOURCES ${HEVC_ROOT}/tests/common/ihevc_luma_inter_pred_test.cc
)
target_link_libraries(
ihevc_luma_inter_pred_test
libhevcdec
GTest::gtest_main
)
if(DEFINED SANITIZE)
set_target_properties(ihevc_luma_inter_pred_test PROPERTIES LINK_FLAGS
-fsanitize=${SANITIZE})
endif()
include(GoogleTest)