CMakeLists.txt 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. cmake_minimum_required(VERSION 3.22...3.25)
  2. legacy_check()
  3. find_library(COREAUDIO CoreAudio)
  4. find_library(AUDIOUNIT AudioUnit)
  5. find_library(COREFOUNDATION CoreFoundation)
  6. find_library(IOSURF IOSurface)
  7. find_library(COCOA Cocoa)
  8. find_library(COREVIDEO CoreVideo)
  9. find_library(COREMEDIA CoreMedia)
  10. find_library(SCREENCAPTUREKIT ScreenCaptureKit)
  11. add_library(mac-capture MODULE)
  12. add_library(OBS::capture ALIAS mac-capture)
  13. target_sources(
  14. mac-capture
  15. PRIVATE # cmake-format: sortable
  16. audio-device-enum.c
  17. audio-device-enum.h
  18. CGDisplayStream.h
  19. mac-audio.c
  20. mac-display-capture.m
  21. mac-screen-capture.m
  22. mac-window-capture.m
  23. plugin-main.c
  24. window-utils.h
  25. window-utils.m)
  26. target_link_libraries(mac-capture PRIVATE OBS::libobs ${COREAUDIO} ${AUDIOUNIT} ${COREFOUNDATION} ${IOSURF} ${COCOA})
  27. if(SCREENCAPTUREKIT)
  28. target_link_libraries(mac-capture PRIVATE OBS::libobs ${COREVIDEO} ${COREMEDIA}
  29. "$<LINK_LIBRARY:WEAK_FRAMEWORK,${SCREENCAPTUREKIT}>")
  30. endif()
  31. set_target_properties_obs(
  32. mac-capture
  33. PROPERTIES FOLDER plugins
  34. PREFIX ""
  35. XCODE_ATTRIBUTE_CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION YES
  36. XCODE_ATTRIBUTE_GCC_WARN_SHADOW YES)
  37. if(CMAKE_VERSION VERSION_LESS_EQUAL 3.25.0)
  38. set_property(TARGET mac-capture PROPERTY XCODE_LINK_BUILD_PHASE_MODE BUILT_ONLY)
  39. endif()