CMakeLists.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. option(ENABLE_IVCAM "Enable building with Realsense camera support" OFF)
  2. if(NOT ENABLE_IVCAM)
  3. obs_status(DISABLED "Realsense camera plugin support")
  4. return()
  5. endif()
  6. project(win-ivcam)
  7. find_package(RSSDK REQUIRED)
  8. if(NOT TARGET RSS::SDK)
  9. obs_status(FATAL_ERROR "win-ivcam -> RSSDK not found.")
  10. endif()
  11. include(IDLFileHelper)
  12. add_library(win-ivcam MODULE)
  13. add_library(OBS::ivcam ALIAS win-ivcam)
  14. add_library(seglibrary INTERFACE)
  15. add_library(Intel::seglibrary ALIAS seglibrary)
  16. add_idl_files(win-ivcam_seg_library_GENERATED_FILES seg_service/seg_service.idl)
  17. target_sources(
  18. seglibrary
  19. INTERFACE seg_library/Dependencies.h
  20. seg_library/SerServer.cpp
  21. seg_library/SegServer.h
  22. seg_library/SegServerImpl.cpp
  23. seg_library/SegServerImpl.h
  24. seg_library/SegService.h
  25. seg_library/SegImage.cpp
  26. seg_library/SegImage.h
  27. ${win-ivcam_seg_library_GENERATED_FILES})
  28. set(MODULE_DESCRIPTION "OBS Intel(R) RealSense(TM) module")
  29. configure_file(${CMAKE_SOURCE_DIR}/cmake/bundle/windows/obs-module.rc.in
  30. win-ivcam.rc)
  31. target_sources(win-ivcam PRIVATE realsense.cpp win-ivcam.rc)
  32. target_link_libraries(win-ivcam OBS::libobs Intel::seglibrary)
  33. get_target_property(_SEGLIBRARY_SOURCES INTEL::seglibrary INTERFACE_SOURCES)
  34. foreach(_SEGLIBRARY_SOURCE ${_SEGLIBRARY_SOURCES})
  35. get_filename_component(_EXT ${_SEGLIBRARY_SOURCE} EXT)
  36. if(${_EXT} STREQUAL "hpp" OR ${_EXT} STREQUAL "h")
  37. source_group("seg_library\\Header Files" FILES ${_SEGLIBRARY_SOURCE})
  38. elseif(${_EXT} STREQUAL "cpp" OR ${_EXT} STREQUAL "c")
  39. source_group("seg_library\\Source Files" FILES ${_SEGLIBRARY_SOURCE})
  40. endif()
  41. endforeach()
  42. if(CMAKE_SIZEOF_VOID_P EQUAL 4)
  43. add_subdirectory(seg_service)
  44. endif()
  45. setup_plugin_target(win-ivcam)