This commit is contained in:
tunm
2025-05-22 16:07:26 +08:00
parent efb5639ec6
commit 7e25e4e482
168 changed files with 6434 additions and 2527 deletions

View File

@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.10)
cmake_minimum_required(VERSION 3.20)
project(InspireFaceTest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
@@ -8,6 +8,8 @@ option(ISF_ENABLE_BENCHMARK "Enable the benchmark test cases." ON)
option(ISF_ENABLE_USE_LFW_DATA "Enable test cases for LFW data sets." OFF)
# If you want to test the evaluation function, you need to set this to ON, need LFW data set.
option(ISF_ENABLE_TEST_EVALUATION "Enable evaluation function test cases." OFF)
# If you want to test the base test cases, you need to set this to ON, if you want to hide the symbols, you need to set ISF_ENABLE_SYMBOL_HIDING to ON
option(ISF_ENABLE_TEST_INTERNAL "Enable internal test cases." OFF)
if (ISF_ENABLE_BENCHMARK)
add_definitions("-DISF_ENABLE_BENCHMARK")
@@ -51,27 +53,26 @@ set(TEST_COMMON_FILES ${CMAKE_CURRENT_SOURCE_DIR}/settings/test_settings.cpp)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/settings)
# =======================Internal Base Import Tests===========================
file(GLOB_RECURSE INTERNAL_TEST_INTERNAL_FILES unit/base/*.cpp)
add_executable(TestBase ${CMAKE_CURRENT_SOURCE_DIR}/test_base.cpp ${INTERNAL_TEST_INTERNAL_FILES} ${TEST_COMMON_FILES})
target_link_libraries(TestBase InspireFace ${DEPEND})
target_include_directories(TestBase PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/
${ISF_THIRD_PARTY_DIR}/spdlog/include
${ISF_THIRD_PARTY_DIR}/Catch2/single_include/
${ISF_THIRD_PARTY_DIR}/indicators/include/
${SRC_DIR}
${INSPIRECV_INCLUDE_PATH}
)
set_target_properties(TestBase PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/test/")
if (ISF_ENABLE_TEST_INTERNAL)
file(GLOB_RECURSE INTERNAL_TEST_INTERNAL_FILES unit/base/*.cpp)
add_executable(TestInternal ${CMAKE_CURRENT_SOURCE_DIR}/test_base.cpp ${INTERNAL_TEST_INTERNAL_FILES} ${TEST_COMMON_FILES})
target_link_libraries(TestInternal InspireFace ${DEPEND})
target_include_directories(TestInternal PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/
${ISF_THIRD_PARTY_DIR}/spdlog/include
${ISF_THIRD_PARTY_DIR}/Catch2/single_include/
${ISF_THIRD_PARTY_DIR}/indicators/include/
${SRC_DIR}
${INSPIRECV_INCLUDE_PATH}
)
set_target_properties(TestInternal PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/test/")
endif()
# =======================External API Testing===========================
file(GLOB_RECURSE TEST_INTERNAL_FILES unit/api/*.cpp)
add_executable(Test ${CMAKE_CURRENT_SOURCE_DIR}/test.cpp ${TEST_INTERNAL_FILES} ${TEST_COMMON_FILES}
unit/api/test_evaluation.cpp)
add_executable(Test ${CMAKE_CURRENT_SOURCE_DIR}/test.cpp ${TEST_INTERNAL_FILES} ${TEST_COMMON_FILES})
target_link_libraries(Test InspireFace ${DEPEND})
target_include_directories(Test PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/
@@ -84,6 +85,20 @@ target_include_directories(Test PUBLIC
set_target_properties(Test PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/test/")
# =======================CPP API Testing===========================
file(GLOB_RECURSE TEST_CPP_FILES unit/cpp_api/*.cpp)
add_executable(TestCPP ${CMAKE_CURRENT_SOURCE_DIR}/test_cpp.cpp ${TEST_CPP_FILES} ${TEST_COMMON_FILES})
target_link_libraries(TestCPP InspireFace ${DEPEND})
target_include_directories(TestCPP PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/
${ISF_THIRD_PARTY_DIR}/spdlog/include
${ISF_THIRD_PARTY_DIR}/Catch2/single_include/
${ISF_THIRD_PARTY_DIR}/indicators/include/
${SRC_DIR}
)
set_target_properties(TestCPP PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/test/")
# Print Message
message(STATUS ">>>>>>>>>>>>>")