Files
ANSCORE/modules/ANSFR/CMakeLists.txt

83 lines
2.3 KiB
CMake
Raw Normal View History

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
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
)