# AUTOGENERATED COPYRIGHT HEADER START
# Copyright (C) 2023 Michael Fabian 'Xaymar' Dirks <info@xaymar.com>
# AUTOGENERATED COPYRIGHT HEADER END

cmake_minimum_required(VERSION 3.26)
project("NVIDIA")
list(APPEND CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}] ")

#- NVIDIA Audio Effects SDK
if(NOT TARGET NVIDIA::AFX)
    add_library(NVIDIA::AFX IMPORTED INTERFACE)
    target_include_directories(NVIDIA::AFX
        INTERFACE
            "${StreamFX_SOURCE_DIR}/third-party/nvidia-maxine-afx-sdk/nvafx/include/"
    )
endif()

#- NVIDIA Augmented Reality SDK
if(NOT TARGET NVIDIA::AR)
    add_library(NVIDIA::AR IMPORTED INTERFACE)
    target_include_directories(NVIDIA::AR
        INTERFACE
            "${StreamFX_SOURCE_DIR}/third-party/nvidia-maxine-ar-sdk/nvar/include/"
            "${StreamFX_SOURCE_DIR}/third-party/nvidia-maxine-ar-sdk/nvar/src/"
    )
endif()

#- NVIDIA Video Effects SDK
if(NOT TARGET NVIDIA::VFX)
    add_library(NVIDIA::VFX IMPORTED INTERFACE)
    target_include_directories(NVIDIA::VFX
        INTERFACE
            "${StreamFX_SOURCE_DIR}/third-party/nvidia-maxine-vfx-sdk/nvvfx/include/"
            "${StreamFX_SOURCE_DIR}/third-party/nvidia-maxine-vfx-sdk/nvvfx/src/"
    )
endif()

streamfx_add_component("NVIDIA")
target_link_libraries(${COMPONENT_TARGET}
    PRIVATE
        NVIDIA::AFX
        NVIDIA::AR
        NVIDIA::VFX
)

if(NOT D_PLATFORM_WINDOWS)
    streamfx_disable_component("NVIDIA" REASON "NVIDIA integration is (currently) only available for Windows under Direct3D11.")
endif()
