os-windows.cmake 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. configure_file(cmake/windows/obs-module.rc.in libobs.rc)
  2. add_library(obs-obfuscate INTERFACE)
  3. add_library(OBS::obfuscate ALIAS obs-obfuscate)
  4. target_sources(obs-obfuscate INTERFACE util/windows/obfuscate.c util/windows/obfuscate.h)
  5. target_include_directories(obs-obfuscate INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}")
  6. add_library(obs-comutils INTERFACE)
  7. add_library(OBS::COMutils ALIAS obs-comutils)
  8. target_sources(obs-comutils INTERFACE util/windows/ComPtr.hpp)
  9. target_include_directories(obs-comutils INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}")
  10. add_library(obs-winhandle INTERFACE)
  11. add_library(OBS::winhandle ALIAS obs-winhandle)
  12. target_sources(obs-winhandle INTERFACE util/windows/WinHandle.hpp)
  13. target_include_directories(obs-winhandle INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}")
  14. target_sources(
  15. libobs
  16. PRIVATE libobs.rc
  17. obs-win-crash-handler.c
  18. obs-windows.c
  19. audio-monitoring/win32/wasapi-enum-devices.c
  20. audio-monitoring/win32/wasapi-monitoring-available.c
  21. audio-monitoring/win32/wasapi-output.c
  22. audio-monitoring/win32/wasapi-output.h
  23. util/pipe-windows.c
  24. util/platform-windows.c
  25. util/threading-windows.c
  26. util/threading-windows.h
  27. util/windows/CoTaskMemPtr.hpp
  28. util/windows/device-enum.c
  29. util/windows/device-enum.h
  30. util/windows/HRError.hpp
  31. util/windows/obfuscate.c
  32. util/windows/obfuscate.h
  33. util/windows/win-registry.h
  34. util/windows/win-version.h
  35. util/windows/window-helpers.c
  36. util/windows/window-helpers.h)
  37. target_compile_options(libobs PRIVATE $<$<COMPILE_LANGUAGE:C,CXX>:/EHc->)
  38. target_link_libraries(
  39. libobs
  40. PRIVATE Avrt
  41. Dwmapi
  42. Dxgi
  43. winmm
  44. Rpcrt4
  45. OBS::obfuscate
  46. OBS::winhandle
  47. OBS::COMutils
  48. PUBLIC OBS::w32-pthreads)
  49. target_link_options(libobs PRIVATE /IGNORE:4098 /SAFESEH:NO)
  50. set_target_properties(libobs PROPERTIES PREFIX "")