63 lines
1.8 KiB
CMake
63 lines
1.8 KiB
CMake
option(ENABLE_IVCAM "Enable building with Realsense camera support" OFF)
|
|
|
|
if(NOT ENABLE_IVCAM)
|
|
obs_status(DISABLED "Realsense camera plugin support")
|
|
return()
|
|
endif()
|
|
|
|
project(win-ivcam)
|
|
|
|
find_package(RSSDK REQUIRED)
|
|
|
|
if(NOT TARGET RSS::SDK)
|
|
obs_status(FATAL_ERROR "win-ivcam -> RSSDK not found.")
|
|
endif()
|
|
|
|
include(IDLFileHelper)
|
|
|
|
add_library(win-ivcam MODULE)
|
|
add_library(OBS::ivcam ALIAS win-ivcam)
|
|
|
|
add_library(seglibrary INTERFACE)
|
|
add_library(Intel::seglibrary ALIAS seglibrary)
|
|
|
|
add_idl_files(win-ivcam_seg_library_GENERATED_FILES seg_service/seg_service.idl)
|
|
|
|
target_sources(
|
|
seglibrary
|
|
INTERFACE seg_library/Dependencies.h
|
|
seg_library/SerServer.cpp
|
|
seg_library/SegServer.h
|
|
seg_library/SegServerImpl.cpp
|
|
seg_library/SegServerImpl.h
|
|
seg_library/SegService.h
|
|
seg_library/SegImage.cpp
|
|
seg_library/SegImage.h
|
|
${win-ivcam_seg_library_GENERATED_FILES})
|
|
|
|
set(MODULE_DESCRIPTION "OBS Intel(R) RealSense(TM) module")
|
|
|
|
configure_file(${CMAKE_SOURCE_DIR}/cmake/bundle/windows/obs-module.rc.in
|
|
win-ivcam.rc)
|
|
|
|
target_sources(win-ivcam PRIVATE realsense.cpp win-ivcam.rc)
|
|
|
|
target_link_libraries(win-ivcam OBS::libobs Intel::seglibrary)
|
|
|
|
get_target_property(_SEGLIBRARY_SOURCES INTEL::seglibrary INTERFACE_SOURCES)
|
|
|
|
foreach(_SEGLIBRARY_SOURCE ${_SEGLIBRARY_SOURCES})
|
|
get_filename_component(_EXT ${_SEGLIBRARY_SOURCE} EXT)
|
|
if(${_EXT} STREQUAL "hpp" OR ${_EXT} STREQUAL "h")
|
|
source_group("seg_library\\Header Files" FILES ${_SEGLIBRARY_SOURCE})
|
|
elseif(${_EXT} STREQUAL "cpp" OR ${_EXT} STREQUAL "c")
|
|
source_group("seg_library\\Source Files" FILES ${_SEGLIBRARY_SOURCE})
|
|
endif()
|
|
endforeach()
|
|
|
|
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
|
add_subdirectory(seg_service)
|
|
endif()
|
|
|
|
setup_plugin_target(win-ivcam)
|