mirror of https://github.com/Xaymar/obs-StreamFX
nvidia: Move into its own component
This component enables interactivity with NVIDIA libraries. Currently this is limited to NVIDIA Maxine only.
This commit is contained in:
parent
090f49d3c8
commit
7c887c06e8
105
CMakeLists.txt
105
CMakeLists.txt
|
@ -434,48 +434,6 @@ else()
|
|||
set(JSON_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/third-party/nlohmann-json/single_include")
|
||||
endif()
|
||||
|
||||
#- NVIDIA Augmented Reality SDK
|
||||
set(HAVE_NVIDIA_AR_SDK OFF)
|
||||
if(REQUIRE_NVIDIA_AR_SDK AND D_PLATFORM_WINDOWS)
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/third-party/nvidia-maxine-ar-sdk/version.h")
|
||||
set(HAVE_NVIDIA_AR_SDK ON)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET NVIDIA::AR)
|
||||
add_library(NVIDIA::AR IMPORTED INTERFACE)
|
||||
target_include_directories(NVIDIA::AR
|
||||
INTERFACE
|
||||
"${PROJECT_SOURCE_DIR}/third-party/nvidia-maxine-ar-sdk/nvar/include/"
|
||||
"${PROJECT_SOURCE_DIR}/third-party/nvidia-maxine-ar-sdk/nvar/src/"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#- NVIDIA Video Effects SDK
|
||||
set(HAVE_NVIDIA_VFX_SDK OFF)
|
||||
if(REQUIRE_NVIDIA_VFX_SDK AND D_PLATFORM_WINDOWS)
|
||||
if(EXISTS "${PROJECT_SOURCE_DIR}/third-party/nvidia-maxine-vfx-sdk/version.h")
|
||||
set(HAVE_NVIDIA_VFX_SDK ON)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET NVIDIA::VFX)
|
||||
add_library(NVIDIA::VFX IMPORTED INTERFACE)
|
||||
target_include_directories(NVIDIA::VFX
|
||||
INTERFACE
|
||||
"${PROJECT_SOURCE_DIR}/third-party/nvidia-maxine-vfx-sdk/nvvfx/include/"
|
||||
"${PROJECT_SOURCE_DIR}/third-party/nvidia-maxine-vfx-sdk/nvvfx/src/"
|
||||
)
|
||||
endif()
|
||||
|
||||
set(REQUIRE_NVIDIA_CUDA ON)
|
||||
endif()
|
||||
|
||||
#- NVIDIA CUDA (Windows)
|
||||
set(HAVE_NVIDIA_CUDA OFF)
|
||||
if(REQUIRE_NVIDIA_CUDA AND D_PLATFORM_WINDOWS)
|
||||
set(HAVE_NVIDIA_CUDA ON)
|
||||
endif()
|
||||
|
||||
#- Qt 6
|
||||
find_package("Qt6"
|
||||
COMPONENTS Core Gui Widgets
|
||||
|
@ -570,69 +528,6 @@ if(TRUE) # OpenGL
|
|||
list(APPEND PROJECT_LIBRARIES khronos_glad)
|
||||
endif()
|
||||
|
||||
if(HAVE_NVIDIA_VFX_SDK OR HAVE_NVIDIA_AR_SDK)
|
||||
list(APPEND PROJECT_PRIVATE_SOURCE
|
||||
"source/nvidia/cv/nvidia-cv.hpp"
|
||||
"source/nvidia/cv/nvidia-cv.cpp"
|
||||
"source/nvidia/cv/nvidia-cv-image.hpp"
|
||||
"source/nvidia/cv/nvidia-cv-image.cpp"
|
||||
"source/nvidia/cv/nvidia-cv-texture.hpp"
|
||||
"source/nvidia/cv/nvidia-cv-texture.cpp"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(HAVE_NVIDIA_AR_SDK)
|
||||
list(APPEND PROJECT_PRIVATE_SOURCE
|
||||
"source/nvidia/ar/nvidia-ar.hpp"
|
||||
"source/nvidia/ar/nvidia-ar.cpp"
|
||||
"source/nvidia/ar/nvidia-ar-feature.hpp"
|
||||
"source/nvidia/ar/nvidia-ar-feature.cpp"
|
||||
"source/nvidia/ar/nvidia-ar-facedetection.hpp"
|
||||
"source/nvidia/ar/nvidia-ar-facedetection.cpp"
|
||||
)
|
||||
list(APPEND PROJECT_LIBRARIES
|
||||
NVIDIA::AR
|
||||
)
|
||||
endif()
|
||||
|
||||
if(HAVE_NVIDIA_VFX_SDK)
|
||||
list(APPEND PROJECT_PRIVATE_SOURCE
|
||||
"source/nvidia/vfx/nvidia-vfx.hpp"
|
||||
"source/nvidia/vfx/nvidia-vfx.cpp"
|
||||
"source/nvidia/vfx/nvidia-vfx-denoising.hpp"
|
||||
"source/nvidia/vfx/nvidia-vfx-denoising.cpp"
|
||||
"source/nvidia/vfx/nvidia-vfx-effect.hpp"
|
||||
"source/nvidia/vfx/nvidia-vfx-effect.cpp"
|
||||
"source/nvidia/vfx/nvidia-vfx-greenscreen.hpp"
|
||||
"source/nvidia/vfx/nvidia-vfx-greenscreen.cpp"
|
||||
"source/nvidia/vfx/nvidia-vfx-superresolution.hpp"
|
||||
"source/nvidia/vfx/nvidia-vfx-superresolution.cpp"
|
||||
)
|
||||
list(APPEND PROJECT_LIBRARIES
|
||||
NVIDIA::VFX
|
||||
)
|
||||
endif()
|
||||
|
||||
if(HAVE_NVIDIA_CUDA)
|
||||
list(APPEND PROJECT_PRIVATE_SOURCE
|
||||
"source/nvidia/cuda/nvidia-cuda.hpp"
|
||||
"source/nvidia/cuda/nvidia-cuda.cpp"
|
||||
"source/nvidia/cuda/nvidia-cuda-obs.hpp"
|
||||
"source/nvidia/cuda/nvidia-cuda-obs.cpp"
|
||||
"source/nvidia/cuda/nvidia-cuda-context.hpp"
|
||||
"source/nvidia/cuda/nvidia-cuda-context.cpp"
|
||||
"source/nvidia/cuda/nvidia-cuda-gs-texture.hpp"
|
||||
"source/nvidia/cuda/nvidia-cuda-gs-texture.cpp"
|
||||
"source/nvidia/cuda/nvidia-cuda-memory.hpp"
|
||||
"source/nvidia/cuda/nvidia-cuda-memory.cpp"
|
||||
"source/nvidia/cuda/nvidia-cuda-stream.hpp"
|
||||
"source/nvidia/cuda/nvidia-cuda-stream.cpp"
|
||||
)
|
||||
list(APPEND PROJECT_DEFINITIONS
|
||||
ENABLE_NVIDIA_CUDA
|
||||
)
|
||||
endif()
|
||||
|
||||
list(APPEND PROJECT_LIBRARIES OBS::obs-frontend-api)
|
||||
list(APPEND PROJECT_UI_SOURCE
|
||||
"source/obs/browser/obs-browser-panel.hpp"
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
## AUTOGENERATED COPYRIGHT HEADER START
|
||||
# Copyright (C) NaN-NaN undefined
|
||||
# AUTOGENERATED COPYRIGHT HEADER END
|
||||
cmake_minimum_required(VERSION 3.26)
|
||||
project("NVIDIA")
|
||||
list(APPEND CMAKE_MESSAGE_INDENT "[${PROJECT_NAME}] ")
|
||||
|
||||
streamfx_add_component("NVIDIA")
|
||||
|
||||
#- 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()
|
||||
|
||||
target_link_libraries(${COMPONENT_TARGET}
|
||||
PRIVATE
|
||||
NVIDIA::AFX
|
||||
NVIDIA::AR
|
||||
NVIDIA::VFX
|
||||
)
|
Loading…
Reference in New Issue