| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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)
|