# 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 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 ${CMAKE_SOURCE_DIR}/ANSODEngine ${SHARED_INCLUDE_DIR} ) target_include_directories(ANSFR PRIVATE ${CMAKE_SOURCE_DIR}/ANSMOT ${CMAKE_SOURCE_DIR}/engines/OpenVINOEngine/include/faceapp ${ANSLIBS_DIR}/faiss ) target_link_libraries(ANSFR PUBLIC ANSLibsLoader PRIVATE ANSODEngine PRIVATE ANSLicensingSystem 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 ) # Boost asio needs full boost install path target_include_directories(ANSFR PRIVATE ${RESEARCH_DIR}/boost_1_88_0) target_compile_definitions(ANSFR PRIVATE UNICODE _UNICODE ANSFR_EXPORTS ENGINE_EXPORTS ORT_API_MANUAL_INIT _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 )