# ANSLibsLoader — DLL that dynamically loads all ANS modules
add_library(ANSLibsLoader SHARED
    ANSLibsLoader.cpp
    CvLoader.cpp
    DynLibUtils.cpp
    EPLoader.cpp
    NvDynLoader.cpp
    OvLoader.cpp
    dllmain.cpp
    pch.cpp
    pch.h
    framework.h
    include/ANSLibsLoader.h
    include/CvLoader.h
    include/DynLibUtils.h
    include/EPLoader.h
    include/NvDynLoader.h
    include/OvLoader.h
)

target_include_directories(ANSLibsLoader PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}
    ${CMAKE_CURRENT_SOURCE_DIR}/include
)

target_link_libraries(ANSLibsLoader
    PRIVATE ANSLicensingSystem
    PRIVATE labview
    PRIVATE spdlog_dep
    PRIVATE opencv
    PRIVATE onnxruntime
    PRIVATE tensorrt
    PRIVATE openvino
    PRIVATE CUDA::cudart_static
)

target_compile_definitions(ANSLibsLoader PRIVATE UNICODE _UNICODE ANSLIBSLOADER_EXPORTS NOMINMAX)
target_precompile_headers(ANSLibsLoader PRIVATE pch.h)
