79 lines
2.1 KiB
CMake
79 lines
2.1 KiB
CMake
# 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
|
|
)
|