2026-03-28 16:54:11 +11:00
|
|
|
# ANSFR — Face Recognition DLL (ONNX + TensorRT + FAISS + SQLite)
|
|
|
|
|
# Explicit source list from original vcxproj
|
|
|
|
|
set(ANSFR_SOURCES
|
|
|
|
|
ANSFR.cpp
|
|
|
|
|
ANSFRCommon.cpp
|
|
|
|
|
ANSFaceRecognizer.cpp
|
|
|
|
|
ANSGpuFrameRegistry.cpp
|
2026-04-03 14:51:52 +11:00
|
|
|
GpuNV12SlotPool.cpp
|
2026-03-28 16:54:11 +11:00
|
|
|
FaceDatabase.cpp
|
|
|
|
|
FaceNet.cpp
|
|
|
|
|
dllmain.cpp
|
|
|
|
|
pch.cpp
|
|
|
|
|
sqlite3.c
|
|
|
|
|
# Engine sources compiled into ANSFR
|
|
|
|
|
${CMAKE_SOURCE_DIR}/engines/ONNXEngine/ONNXEngine.cpp
|
|
|
|
|
${CMAKE_SOURCE_DIR}/engines/OpenVINOEngine/src/faceapp/cnn.cpp
|
|
|
|
|
${CMAKE_SOURCE_DIR}/engines/OpenVINOEngine/src/utils/args_helper.cpp
|
|
|
|
|
${CMAKE_SOURCE_DIR}/engines/OpenVINOEngine/src/utils/common.cpp
|
|
|
|
|
)
|
|
|
|
|
file(GLOB ANSFR_HEADERS "*.h")
|
|
|
|
|
|
|
|
|
|
add_library(ANSFR SHARED ${ANSFR_SOURCES} ${ANSFR_HEADERS})
|
|
|
|
|
|
|
|
|
|
target_include_directories(ANSFR PUBLIC
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_include_directories(ANSFR PRIVATE
|
|
|
|
|
${CMAKE_SOURCE_DIR}/engines/ONNXEngine
|
|
|
|
|
${CMAKE_SOURCE_DIR}/engines/OpenVINOEngine/include
|
|
|
|
|
${CMAKE_SOURCE_DIR}/engines/TensorRTAPI/include
|
2026-03-28 19:56:39 +11:00
|
|
|
${CMAKE_SOURCE_DIR}/modules/ANSODEngine
|
2026-03-28 16:54:11 +11:00
|
|
|
${SHARED_INCLUDE_DIR}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_include_directories(ANSFR PRIVATE
|
2026-03-28 19:56:39 +11:00
|
|
|
${CMAKE_SOURCE_DIR}/modules/ANSMOT
|
2026-03-28 16:54:11 +11:00
|
|
|
${CMAKE_SOURCE_DIR}/engines/OpenVINOEngine/include/faceapp
|
|
|
|
|
${ANSLIBS_DIR}/faiss
|
2026-03-29 14:10:05 +11:00
|
|
|
${ANSLIBS_DIR} # for hnswlib/hnswlib.h
|
|
|
|
|
${ANSLIBS_DIR}/nlohmann
|
2026-03-28 16:54:11 +11:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(ANSFR
|
|
|
|
|
PUBLIC ANSLibsLoader
|
|
|
|
|
PRIVATE ANSODEngine
|
2026-04-06 08:31:26 +10:00
|
|
|
PUBLIC ANSLicensingSystem # PUBLIC: SPDLogger/FileExist symbols must be re-exported
|
2026-03-28 16:54:11 +11:00
|
|
|
PRIVATE labview
|
|
|
|
|
PRIVATE spdlog_dep
|
|
|
|
|
PRIVATE opencv
|
|
|
|
|
PRIVATE onnxruntime
|
|
|
|
|
PRIVATE tensorrt
|
|
|
|
|
PRIVATE openvino
|
|
|
|
|
PRIVATE faiss
|
|
|
|
|
PRIVATE mkl
|
|
|
|
|
PRIVATE boost
|
|
|
|
|
PRIVATE ANSMOT
|
|
|
|
|
PRIVATE CUDA::cudart_static
|
|
|
|
|
PRIVATE CUDA::cublas
|
|
|
|
|
PRIVATE CUDA::cublasLt
|
|
|
|
|
PRIVATE nvinfer_10.lib
|
|
|
|
|
PRIVATE nvonnxparser_10.lib
|
2026-03-29 14:10:05 +11:00
|
|
|
PRIVATE bcrypt.lib
|
2026-03-28 16:54:11 +11:00
|
|
|
)
|
|
|
|
|
|
2026-03-29 14:10:05 +11:00
|
|
|
# Boost asio/beast/uuid headers (already in boost/include/boost/)
|
|
|
|
|
# No extra include needed — covered by the boost interface target
|
2026-03-28 16:54:11 +11:00
|
|
|
|
|
|
|
|
target_compile_definitions(ANSFR PRIVATE UNICODE _UNICODE
|
|
|
|
|
ANSFR_EXPORTS
|
|
|
|
|
ENGINE_EXPORTS
|
2026-03-28 19:15:13 +11:00
|
|
|
ORT_API_MANUAL_INIT
|
2026-03-28 16:54:11 +11:00
|
|
|
_USRDLL
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_precompile_headers(ANSFR PRIVATE pch.h)
|
|
|
|
|
|
|
|
|
|
# sqlite3.c is pure C — skip precompiled headers and force C language
|
|
|
|
|
set_source_files_properties(sqlite3.c PROPERTIES
|
|
|
|
|
SKIP_PRECOMPILE_HEADERS ON
|
|
|
|
|
LANGUAGE C
|
|
|
|
|
)
|