CMakeLists.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/libdshowcapture/dshowcapture.hpp")
  2. message(STATUS "libdshowcapture submodule not found! Please fetch submodules. win-dshow plugin disabled.")
  3. return()
  4. endif()
  5. project(win-dshow)
  6. find_package(FFmpeg REQUIRED COMPONENTS avcodec avutil)
  7. include_directories(${FFMPEG_INCLUDE_DIRS})
  8. set(win-dshow_HEADERS
  9. encode-dstr.hpp
  10. ffmpeg-decode.h)
  11. set(MODULE_DESCRIPTION "OBS DirectShow module")
  12. configure_file(${CMAKE_SOURCE_DIR}/cmake/winrc/obs-module.rc.in win-dshow.rc)
  13. set(win-dshow_SOURCES
  14. win-dshow.cpp
  15. win-dshow-encoder.cpp
  16. dshow-plugin.cpp
  17. ffmpeg-decode.c
  18. win-dshow.rc)
  19. set(libdshowcapture_SOURCES
  20. libdshowcapture/source/capture-filter.cpp
  21. libdshowcapture/source/output-filter.cpp
  22. libdshowcapture/source/dshowcapture.cpp
  23. libdshowcapture/source/dshowencode.cpp
  24. libdshowcapture/source/device.cpp
  25. libdshowcapture/source/encoder.cpp
  26. libdshowcapture/source/dshow-base.cpp
  27. libdshowcapture/source/dshow-demux.cpp
  28. libdshowcapture/source/dshow-enum.cpp
  29. libdshowcapture/source/dshow-formats.cpp
  30. libdshowcapture/source/dshow-media-type.cpp
  31. libdshowcapture/source/dshow-encoded-device.cpp
  32. libdshowcapture/source/log.cpp)
  33. set(libdshowcapture_HEADERS
  34. libdshowcapture/dshowcapture.hpp
  35. libdshowcapture/source/external/IVideoCaptureFilter.h
  36. libdshowcapture/source/capture-filter.hpp
  37. libdshowcapture/source/output-filter.hpp
  38. libdshowcapture/source/device.hpp
  39. libdshowcapture/source/encoder.hpp
  40. libdshowcapture/source/dshow-base.hpp
  41. libdshowcapture/source/dshow-demux.hpp
  42. libdshowcapture/source/dshow-device-defs.hpp
  43. libdshowcapture/source/dshow-enum.hpp
  44. libdshowcapture/source/dshow-formats.hpp
  45. libdshowcapture/source/dshow-media-type.hpp
  46. libdshowcapture/source/log.hpp)
  47. add_library(win-dshow MODULE
  48. ${win-dshow_SOURCES}
  49. ${win-dshow_HEADERS}
  50. ${libdshowcapture_SOURCES}
  51. ${libdshowcapture_HEADERS})
  52. target_link_libraries(win-dshow
  53. libobs
  54. strmiids
  55. ksuser
  56. wmcodecdspuuid
  57. ${FFMPEG_LIBRARIES})
  58. install_obs_plugin_with_data(win-dshow data)