@@ -39,63 +39,12 @@ set(FAISS_TEST_SRC
39
39
test_knn_functions.cpp
40
40
)
41
41
42
-
43
42
add_executable (faiss_test ${FAISS_TEST_SRC} )
44
43
45
- if (NOT FAISS_OPT_LEVEL STREQUAL "avx2" AND NOT FAISS_OPT_LEVEL STREQUAL "avx512" AND NOT FAISS_OPT_LEVEL STREQUAL "sve" )
46
- target_link_libraries (faiss_test PRIVATE faiss)
47
- endif ()
48
-
49
- if (FAISS_OPT_LEVEL STREQUAL "avx2" )
50
- if (NOT WIN32 )
51
- target_compile_options (faiss_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-mavx2 -mfma>)
52
- else ()
53
- target_compile_options (faiss_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:/arch:AVX2>)
54
- endif ()
55
- target_link_libraries (faiss_test PRIVATE faiss_avx2)
56
- endif ()
57
-
58
- if (FAISS_OPT_LEVEL STREQUAL "avx512" )
59
- if (NOT WIN32 )
60
- target_compile_options (faiss_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-mavx2 -mfma -mavx512f -mavx512f -mavx512cd -mavx512vl -mavx512dq -mavx512bw>)
61
- else ()
62
- target_compile_options (faiss_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:/arch:AVX512>)
63
- endif ()
64
- target_link_libraries (faiss_test PRIVATE faiss_avx512)
65
- endif ()
66
-
67
- if (FAISS_OPT_LEVEL STREQUAL "sve" )
68
- if (NOT WIN32 )
69
- if ("${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} " MATCHES "(^| )-march=native" )
70
- # Do nothing, expect SVE to be enabled by -march=native
71
- elseif ("${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} " MATCHES "(^| )(-march=armv[0-9]+(\\ .[1-9]+)?-[^+ ](\\ +[^+$ ]+)*)" )
72
- # Add +sve
73
- target_compile_options (faiss_test PRIVATE $<$<AND :$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>:${CMAKE_MATCH_2} +sve>)
74
- elseif (NOT "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} " MATCHES "(^| )-march=armv" )
75
- # No valid -march, so specify -march=armv8-a+sve as the default
76
- target_compile_options (faiss_test PRIVATE $<$<AND :$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>:-march=armv8-a+sve>)
77
- endif ()
78
- if ("${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE} " MATCHES "(^| )-march=native" )
79
- # Do nothing, expect SVE to be enabled by -march=native
80
- elseif ("${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE} " MATCHES "(^| )(-march=armv[0-9]+(\\ .[1-9]+)?-[^+ ](\\ +[^+$ ]+)*)" )
81
- # Add +sve
82
- target_compile_options (faiss_test PRIVATE $<$<AND :$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>:${CMAKE_MATCH_2} +sve>)
83
- elseif (NOT "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE} " MATCHES "(^| )-march=armv" )
84
- # No valid -march, so specify -march=armv8-a+sve as the default
85
- target_compile_options (faiss_test PRIVATE $<$<AND :$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>:-march=armv8-a+sve>)
86
- endif ()
87
- else ()
88
- # TODO: support Windows
89
- endif ()
90
- target_link_libraries (faiss_test PRIVATE faiss_sve)
91
- endif ()
44
+ include (../cmake/link_to_faiss_lib.cmake)
92
45
93
- find_package (Python COMPONENTS Interpreter Development)
94
- # find_package(PythonLibs REQUIRED)
95
- target_link_libraries (faiss_test PUBLIC ${Python_LIBRARIES} )
96
- # if (FAISS_ENABLE_PYTHON)
46
+ link_to_faiss_lib(faiss_test)
97
47
target_link_libraries (faiss_test PUBLIC faiss_example_external_module)
98
- # endif()
99
48
100
49
include (FetchContent)
101
50
FetchContent_Declare(
0 commit comments