Organise the dependencies

This commit is contained in:
2026-03-29 14:10:05 +11:00
parent bf70cbd11b
commit 6861de8fb4
18 changed files with 80 additions and 67 deletions

View File

@@ -2,11 +2,12 @@
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
set CUDAHOSTCXX=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64\cl.exe
cd /d C:\Projects\CLionProjects\ANSCORE\cmake-build-release
rd /s /q CMakeFiles CMakeCache.txt 2>nul
rd /s /q CMakeFiles 2>nul
del CMakeCache.txt 2>nul
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_COMPILER="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.1/bin/nvcc.exe" -DCUDAToolkit_ROOT="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.1"
if %ERRORLEVEL% neq 0 (
echo CMAKE_CONFIGURE_FAILED
exit /b 1
)
ninja ANSLIB -j 20
ninja -j 20
echo BUILD_EXIT_CODE=%ERRORLEVEL%

6
build_ansfr.bat Normal file
View File

@@ -0,0 +1,6 @@
@echo off
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
set CUDAHOSTCXX=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64\cl.exe
cd /d C:\Projects\CLionProjects\ANSCORE\cmake-build-release
ninja ANSFR -j 20
echo BUILD_EXIT_CODE=%ERRORLEVEL%

6
build_anslib.bat Normal file
View File

@@ -0,0 +1,6 @@
@echo off
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
set CUDAHOSTCXX=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64\cl.exe
cd /d C:\Projects\CLionProjects\ANSCORE\cmake-build-release
ninja ANSLIB -j 20
echo BUILD_EXIT_CODE=%ERRORLEVEL%

7
build_ansls.bat Normal file
View File

@@ -0,0 +1,7 @@
@echo off
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
set CUDAHOSTCXX=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64\cl.exe
cd /d C:\Projects\CLionProjects\ANSCORE\cmake-build-release
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_COMPILER="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.1/bin/nvcc.exe" -DCUDAToolkit_ROOT="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v13.1"
ninja ANSLicensingSystem -j 20
echo BUILD_EXIT_CODE=%ERRORLEVEL%

View File

@@ -5,17 +5,11 @@
# ── Platform-specific base paths ────────────────────────────────
if(WIN32)
set(ANSLIBS_DIR "C:/ANSLibs" CACHE PATH "Root of ANS external libraries")
set(ANLS_ROOT "C:/Projects/ANLS" CACHE PATH "Original ANLS project root")
set(RESEARCH_DIR "C:/Projects/Research/CPlusLibraries" CACHE PATH "Research libraries root")
set(ANSLIBS_DIR "C:/ANSLibs" CACHE PATH "Root of ANS external libraries")
elseif(APPLE)
set(ANSLIBS_DIR "$ENV{HOME}/ANSLibs" CACHE PATH "Root of ANS external libraries")
set(ANLS_ROOT "$ENV{HOME}/Projects/ANLS" CACHE PATH "Original ANLS project root")
set(RESEARCH_DIR "$ENV{HOME}/Projects/Research/CPlusLibraries" CACHE PATH "Research libraries root")
set(ANSLIBS_DIR "$ENV{HOME}/ANSLibs" CACHE PATH "Root of ANS external libraries")
else() # Linux
set(ANSLIBS_DIR "/opt/ANSLibs" CACHE PATH "Root of ANS external libraries")
set(ANLS_ROOT "$ENV{HOME}/Projects/ANLS" CACHE PATH "Original ANLS project root")
set(RESEARCH_DIR "$ENV{HOME}/Projects/Research/CPlusLibraries" CACHE PATH "Research libraries root")
set(ANSLIBS_DIR "/opt/ANSLibs" CACHE PATH "Root of ANS external libraries")
endif()
# ── Platform library suffix helper ──────────────────────────────
@@ -146,19 +140,12 @@ else()
endif()
# ── Boost ───────────────────────────────────────────────────────
find_package(Boost QUIET)
if(Boost_FOUND)
add_library(boost INTERFACE)
target_link_libraries(boost INTERFACE Boost::headers)
message(STATUS "Boost: using system install")
else()
set(BOOST_INCLUDE_DIR "${ANSLIBS_DIR}/boost/include")
set(BOOST_LIB_DIR "${ANSLIBS_DIR}/boost/lib")
add_library(boost INTERFACE)
target_include_directories(boost INTERFACE ${BOOST_INCLUDE_DIR})
target_link_directories(boost INTERFACE ${BOOST_LIB_DIR})
message(STATUS "Boost: using ANSLibs at ${BOOST_INCLUDE_DIR}")
endif()
set(BOOST_INCLUDE_DIR "${ANSLIBS_DIR}/boost/include")
set(BOOST_LIB_DIR "${ANSLIBS_DIR}/boost/lib")
add_library(boost INTERFACE)
target_include_directories(boost INTERFACE ${BOOST_INCLUDE_DIR})
target_link_directories(boost INTERFACE ${BOOST_LIB_DIR})
message(STATUS "Boost: using ANSLibs at ${BOOST_INCLUDE_DIR}")
# ── FFmpeg ──────────────────────────────────────────────────────
find_package(PkgConfig QUIET)
@@ -195,8 +182,8 @@ endif()
# ── TurboJPEG ───────────────────────────────────────────────────
add_library(turbojpeg INTERFACE)
if(WIN32)
target_include_directories(turbojpeg INTERFACE "${ANLS_ROOT}/TurboJpeg")
target_link_directories(turbojpeg INTERFACE "${ANLS_ROOT}/TurboJpeg")
target_include_directories(turbojpeg INTERFACE "${ANSLIBS_DIR}/TurboJpeg")
target_link_directories(turbojpeg INTERFACE "${ANSLIBS_DIR}/TurboJpeg")
target_link_libraries(turbojpeg INTERFACE turbojpeg-static.lib)
else()
find_library(TURBOJPEG_LIB turbojpeg)
@@ -238,8 +225,8 @@ endif()
# ── Chilkat (HTTP/AWS) ──────────────────────────────────────────
add_library(chilkat INTERFACE)
if(WIN32)
set(CHILKAT_INCLUDE_DIR "${RESEARCH_DIR}/chilkat/include")
set(CHILKAT_LIB_DIR "${RESEARCH_DIR}/chilkat/libs")
set(CHILKAT_INCLUDE_DIR "${ANSLIBS_DIR}/chilkat/include")
set(CHILKAT_LIB_DIR "${ANSLIBS_DIR}/chilkat/libs")
target_include_directories(chilkat INTERFACE ${CHILKAT_INCLUDE_DIR})
target_link_directories(chilkat INTERFACE ${CHILKAT_LIB_DIR})
target_link_libraries(chilkat INTERFACE ChilkatRel_x64.lib)
@@ -255,8 +242,8 @@ endif()
# ── ZXing (QR Code) ────────────────────────────────────────────
add_library(zxing INTERFACE)
if(WIN32)
set(ZXING_INCLUDE_DIR "${RESEARCH_DIR}/QRCode")
set(ZXING_LIB_DIR "${RESEARCH_DIR}/QRCode")
set(ZXING_INCLUDE_DIR "${ANSLIBS_DIR}/QRCode")
set(ZXING_LIB_DIR "${ANSLIBS_DIR}/QRCode")
target_include_directories(zxing INTERFACE ${ZXING_INCLUDE_DIR})
target_link_directories(zxing INTERFACE ${ZXING_LIB_DIR})
target_link_libraries(zxing INTERFACE ZXing.lib)
@@ -271,8 +258,8 @@ endif()
add_library(labview INTERFACE)
if(WIN32)
# Code uses #include "LabVIEWHeader/extcode.h", so include the parent dir
set(LABVIEW_INCLUDE_DIR "${RESEARCH_DIR}")
set(LABVIEW_LIB_DIR "${RESEARCH_DIR}/LabVIEWHeader")
set(LABVIEW_INCLUDE_DIR "${ANSLIBS_DIR}")
set(LABVIEW_LIB_DIR "${ANSLIBS_DIR}/LabVIEWHeader")
target_include_directories(labview INTERFACE ${LABVIEW_INCLUDE_DIR})
target_link_directories(labview INTERFACE ${LABVIEW_LIB_DIR})
target_link_libraries(labview INTERFACE labview-x86_64.lib)
@@ -285,17 +272,17 @@ if(spdlog_FOUND)
target_link_libraries(spdlog_dep INTERFACE spdlog::spdlog)
else()
add_library(spdlog_dep INTERFACE)
if(EXISTS "${RESEARCH_DIR}/spdlog-1.12.0/include")
target_include_directories(spdlog_dep INTERFACE "${RESEARCH_DIR}/spdlog-1.12.0/include")
elseif(EXISTS "${ANSLIBS_DIR}/spdlog/include")
if(EXISTS "${ANSLIBS_DIR}/spdlog/include")
target_include_directories(spdlog_dep INTERFACE "${ANSLIBS_DIR}/spdlog/include")
elseif(FALSE) # placeholder
target_include_directories(spdlog_dep INTERFACE "${ANSLIBS_DIR}/spdlog/include")
endif()
endif()
# ── vcpkg installed libs ────────────────────────────────────────
if(WIN32)
set(VCPKG_INCLUDE_DIR "${RESEARCH_DIR}/vcpkg/installed/x64-windows/include")
set(VCPKG_LIB_DIR "${RESEARCH_DIR}/vcpkg/installed/x64-windows/lib")
set(VCPKG_INCLUDE_DIR "${ANSLIBS_DIR}/vcpkg/include")
set(VCPKG_LIB_DIR "${ANSLIBS_DIR}/vcpkg/lib")
add_library(vcpkg_libs INTERFACE)
target_include_directories(vcpkg_libs INTERFACE ${VCPKG_INCLUDE_DIR})
target_link_directories(vcpkg_libs INTERFACE ${VCPKG_LIB_DIR})

View File

@@ -11,7 +11,7 @@
#include "spdlog/cfg/env.h" // support for loading levels from the environment variable
#include "spdlog/fmt/ostr.h" // support for user defined types
#include "spdlog/sinks/stdout_color_sinks.h"
#include "../../src/client/Licensing/base64.h"
#include "base64.h"
#include <spdlog/sinks/base_sink.h>
#include <winnt.h>

View File

@@ -14,15 +14,14 @@ target_include_directories(ANSLicensingSystem PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
${SHARED_INCLUDE_DIR}
# These are needed by consumers because ANSLicense.h / Utility.h include them
${RESEARCH_DIR} # for LabVIEWHeader/extcode.h
${ANSLIBS_DIR} # for LabVIEWHeader/extcode.h
${ANSLIBS_DIR}/ZLIB/include # for zlib.h (Utility.h includes it)
${VCPKG_INCLUDE_DIR} # for zip.h (Utility.h includes it)
)
target_include_directories(ANSLicensingSystem PRIVATE
${ANLS_ROOT}/ANSLIB/anszip
${RESEARCH_DIR}/ANS-HWiNFO/include
${RESEARCH_DIR}/spdlog-1.12.0/include
${ANSLIBS_DIR}/ANS-HWiNFO/include
${ANSLIBS_DIR}/spdlog/include
)
target_link_libraries(ANSLicensingSystem
@@ -31,14 +30,13 @@ target_link_libraries(ANSLicensingSystem
PRIVATE opencv
PRIVATE zlib_dep
PRIVATE spdlog_dep
PRIVATE boost
PUBLIC boost
)
target_link_directories(ANSLicensingSystem PRIVATE
${RESEARCH_DIR}/ANS-HWiNFO/lib
${RESEARCH_DIR}/boost_lib
${ANSLIBS_DIR}/ANS-HWiNFO/lib
${ANSLIBS_DIR}/boost/lib
${VCPKG_LIB_DIR}
${ANLS_ROOT}/ANSLIB/anszip/x64/Release
)
# BASE64 class — not exported from anslicensing.dll, compile directly

View File

@@ -14,11 +14,11 @@ target_include_directories(ANSONVIF PUBLIC
)
target_include_directories(ANSONVIF PRIVATE
${ANLS_ROOT}/ONVIF/include
${ANLS_ROOT}/ONVIF/include/bm
${ANSLIBS_DIR}/ONVIF/include
${ANSLIBS_DIR}/ONVIF/include/bm
)
target_link_directories(ANSONVIF PRIVATE ${ANLS_ROOT}/ONVIF/lib)
target_link_directories(ANSONVIF PRIVATE ${ANSLIBS_DIR}/ONVIF/lib)
target_link_libraries(ANSONVIF
PRIVATE ANSLicensingSystem

View File

@@ -61,6 +61,7 @@ target_include_directories(ANSCV PRIVATE
${CMAKE_SOURCE_DIR}/MediaClient/rtmp
${CMAKE_SOURCE_DIR}/MediaClient/librtmp
${CMAKE_SOURCE_DIR}/MediaClient/srt
${ANSLIBS_DIR}/nlohmann
${SHARED_INCLUDE_DIR}
)
@@ -87,7 +88,7 @@ if(WIN32)
${CMAKE_SOURCE_DIR}/MediaClient/libsrt/lib/x64
)
# Prebuilt MediaClient protocol libraries (built from MediaClient VS project)
target_link_directories(ANSCV PRIVATE "${ANLS_ROOT}/MediaClient/x64/Release")
target_link_directories(ANSCV PRIVATE "${ANSLIBS_DIR}/MediaClient/x64/Release")
target_link_libraries(ANSCV PRIVATE
RtspClientLibrary HttpFlvClientLibrary HttpMjpegClientLibrary
RtmpClientLibrary SrtClientLibrary

View File

@@ -36,6 +36,8 @@ target_include_directories(ANSFR PRIVATE
${CMAKE_SOURCE_DIR}/modules/ANSMOT
${CMAKE_SOURCE_DIR}/engines/OpenVINOEngine/include/faceapp
${ANSLIBS_DIR}/faiss
${ANSLIBS_DIR} # for hnswlib/hnswlib.h
${ANSLIBS_DIR}/nlohmann
)
target_link_libraries(ANSFR
@@ -57,10 +59,11 @@ target_link_libraries(ANSFR
PRIVATE CUDA::cublasLt
PRIVATE nvinfer_10.lib
PRIVATE nvonnxparser_10.lib
PRIVATE bcrypt.lib
)
# Boost asio needs full boost install path
target_include_directories(ANSFR PRIVATE ${RESEARCH_DIR}/boost_1_88_0)
# Boost asio/beast/uuid headers (already in boost/include/boost/)
# No extra include needed — covered by the boost interface target
target_compile_definitions(ANSFR PRIVATE UNICODE _UNICODE
ANSFR_EXPORTS

View File

@@ -46,6 +46,7 @@ target_include_directories(ANSLPR PRIVATE
${CMAKE_SOURCE_DIR}/modules/ANSOCR
${CMAKE_SOURCE_DIR}/modules/ANSOCR/ANSPaddleOCR
${CMAKE_SOURCE_DIR}/modules/ANSOCR/ANSPaddleOCR/include
${ANSLIBS_DIR}/nlohmann
${SHARED_INCLUDE_DIR}
)

View File

@@ -15,6 +15,7 @@ target_include_directories(ANSMOT PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/ByteTrackNCNN/include
${CMAKE_CURRENT_SOURCE_DIR}/OCSort/include
${CMAKE_CURRENT_SOURCE_DIR}/UCMC/include
${ANSLIBS_DIR}/Eigen3/include/eigen3
)
# Match original vcxproj: labview, anslicensing, ANSLicensingSystem
@@ -24,6 +25,7 @@ target_link_libraries(ANSMOT
PRIVATE labview
PRIVATE spdlog_dep
PRIVATE opencv
PRIVATE boost
)
target_compile_definitions(ANSMOT PRIVATE UNICODE _UNICODE ANSMOT_EXPORTS)

View File

@@ -32,6 +32,8 @@ target_include_directories(ANSOCR PRIVATE
${CMAKE_SOURCE_DIR}/engines/OpenVINOEngine/include
${CMAKE_SOURCE_DIR}/engines/TensorRTAPI/include
${CMAKE_SOURCE_DIR}/core/ANSLicensingSystem
${ANSLIBS_DIR}/nlohmann
${VCPKG_INCLUDE_DIR}
${SHARED_INCLUDE_DIR}
)

View File

@@ -99,12 +99,12 @@ target_include_directories(ANSODEngine PRIVATE
${CMAKE_SOURCE_DIR}/engines/TensorRTEngine
${CMAKE_SOURCE_DIR}/core/ANSLicensingSystem
${ANSLIBS_DIR}/nlohmann
${RESEARCH_DIR}/spdlog-1.12.0/include
${RESEARCH_DIR}
${RESEARCH_DIR}/ANS-HWiNFO/include
${ANLS_ROOT}/ODHUBYOLODarknet/include
${ANLS_ROOT}/TurboJpeg
C:/fastdeploy_gpu/include
${ANSLIBS_DIR}/spdlog/include
${ANSLIBS_DIR}
${ANSLIBS_DIR}/ANS-HWiNFO/include
${ANSLIBS_DIR}/ODHUBYOLODarknet/include
${ANSLIBS_DIR}/TurboJpeg
${ANSLIBS_DIR}/fastdeploy_gpu/include
${SHARED_INCLUDE_DIR}
)
@@ -126,7 +126,7 @@ target_link_libraries(ANSODEngine
# Additional link dependencies from original vcxproj
target_link_directories(ANSODEngine PRIVATE
${ANLS_ROOT}/ODHUBYOLODarknet/lib
${ANSLIBS_DIR}/ODHUBYOLODarknet/lib
)
target_link_libraries(ANSODEngine PRIVATE
odhublib.lib odhublib_cpu.lib

View File

@@ -20,8 +20,8 @@ target_include_directories(ANSCV-UnitTest PRIVATE
${CMAKE_SOURCE_DIR}/MediaClient/openssl/include
${CMAKE_SOURCE_DIR}/MediaClient/libsrt/include
${SHARED_INCLUDE_DIR}
${ANLS_ROOT}/TurboJpeg
${RESEARCH_DIR}/QRCode
${ANSLIBS_DIR}/TurboJpeg
${ANSLIBS_DIR}/QRCode
)
target_link_libraries(ANSCV-UnitTest

View File

@@ -33,11 +33,10 @@ target_include_directories(ANSFR-UnitTest PRIVATE
${CMAKE_SOURCE_DIR}/MediaClient/openssl/include
${CMAKE_SOURCE_DIR}/MediaClient/libsrt/include
${SHARED_INCLUDE_DIR}
${ANLS_ROOT}/TurboJpeg
${ANSLIBS_DIR}/TurboJpeg
${ANSLIBS_DIR}/faiss
${ANSLIBS_DIR}/TensorRT/include
${RESEARCH_DIR}/boost_1_88_0
C:/fastdeploy_gpu/include
${ANSLIBS_DIR}/fastdeploy_gpu/include
)
target_link_libraries(ANSFR-UnitTest

View File

@@ -21,7 +21,7 @@ target_include_directories(ANSLPR-UnitTest PRIVATE
${CMAKE_SOURCE_DIR}/MediaClient/ffmpeg/include
${CMAKE_SOURCE_DIR}/MediaClient/openssl/include
${CMAKE_SOURCE_DIR}/MediaClient/libsrt/include
${ANLS_ROOT}/TurboJpeg
${ANSLIBS_DIR}/TurboJpeg
${CMAKE_SOURCE_DIR}/modules/ANSMOT
${CMAKE_SOURCE_DIR}/modules/ANSOCR/ANSPaddleOCR
${CMAKE_SOURCE_DIR}/modules/ANSOCR/ANSPaddleOCR/include

View File

@@ -5,7 +5,7 @@ add_executable(ANSONVIF-UnitTest
target_include_directories(ANSONVIF-UnitTest PRIVATE
${CMAKE_SOURCE_DIR}/integrations/ANSONVIF
${ANLS_ROOT}/ONVIF/include
${ANSLIBS_DIR}/ONVIF/include
${CMAKE_SOURCE_DIR}/modules/ANSCV
${CMAKE_SOURCE_DIR}/MediaClient
${CMAKE_SOURCE_DIR}/MediaClient/media
@@ -20,7 +20,7 @@ target_include_directories(ANSONVIF-UnitTest PRIVATE
${CMAKE_SOURCE_DIR}/MediaClient/ffmpeg/include
${CMAKE_SOURCE_DIR}/MediaClient/openssl/include
${CMAKE_SOURCE_DIR}/MediaClient/libsrt/include
${ANLS_ROOT}/TurboJpeg
${ANSLIBS_DIR}/TurboJpeg
${SHARED_INCLUDE_DIR}
)