Files
ANSCORE/modules/ANSFR/CMakeLists.txt

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}/modules/ANSODEngine
${SHARED_INCLUDE_DIR}
)
target_include_directories(ANSFR PRIVATE
${CMAKE_SOURCE_DIR}/modules/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
)