include(${PROJECT_ROOT_DIR}/cmake/bazel.cmake) include(${PROJECT_ROOT_DIR}/cmake/option.cmake) if(APPLE) set(APPLE_FRAMEWORK_LIBS -framework CoreFoundation -framework CoreGraphics -framework CoreData -framework CoreText -framework Security -framework Foundation -Wl,-U,_MallocExtension_ReleaseFreeMemory -Wl,-U,_ProfilerStart -Wl,-U,_ProfilerStop -Wl,-U,_RegisterThriftProtocol ) endif() file(GLOB_RECURSE ALL_TEST_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *_test.cc) if(MSVC) #TODO(windows): should include these UTs set(_MSVC_EXCLUDE_TESTS "storage/mmap_store_test.cc" "storage/mem_store_test.cc" "column/inverted_column/inverted_indexer_util_test.cc" "segment/segment_test.cc" ) foreach(_excl ${_MSVC_EXCLUDE_TESTS}) list(FILTER ALL_TEST_SRCS EXCLUDE REGEX "${_excl}") endforeach() endif() foreach(CC_SRCS ${ALL_TEST_SRCS}) get_filename_component(CC_TARGET ${CC_SRCS} NAME_WE) cc_gmock( NAME ${CC_TARGET} STRICT LIBS zvec zvec_ailego zvec_proto core_knn_diskann core_metric_static core_utility_static core_quantizer_static core_knn_hnsw core_knn_hnsw_sparse sparsehash core_knn_flat core_knn_flat_sparse core_knn_ivf core_knn_hnsw_rabitq core_mix_reducer Arrow::arrow_dataset ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS} SRCS ${CC_SRCS} utils/utils.cc INCS . .. ../../src LDFLAGS ${APPLE_FRAMEWORK_LIBS} ) cc_test_suite(zvec_index ${CC_TARGET}) endforeach() # Inject TEST_SOURCE_DIR for fts_column_indexer_test so it can locate testdata/ if(TARGET fts_column_indexer_test) target_compile_definitions(fts_column_indexer_test PRIVATE TEST_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}/column/fts_column" JIEBA_DICT_DIR="${PROJECT_SOURCE_DIR}/thirdparty/cppjieba/cppjieba-5.6.7/dict") endif()