CMakeLists.txt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. project(graphics-hook)
  2. find_package(Detours REQUIRED)
  3. find_package(Vulkan REQUIRED)
  4. add_library(graphics-hook MODULE)
  5. add_library(OBS::graphics-hook ALIAS graphics-hook)
  6. target_sources(
  7. graphics-hook
  8. PRIVATE graphics-hook.c
  9. graphics-hook.h
  10. gl-capture.c
  11. gl-decs.h
  12. d3d8-capture.cpp
  13. d3d9-capture.cpp
  14. d3d9-patches.hpp
  15. dxgi-capture.cpp
  16. d3d10-capture.cpp
  17. d3d11-capture.cpp
  18. d3d12-capture.cpp
  19. ../../../libobs/util/windows/obfuscate.c
  20. ../../../libobs/util/windows/obfuscate.h
  21. ../graphics-hook-ver.h
  22. ../graphics-hook-info.h
  23. ../hook-helpers.h
  24. graphics-hook.rc)
  25. target_include_directories(graphics-hook PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/..)
  26. target_link_libraries(graphics-hook PRIVATE OBS::ipc-util Detours::Detours
  27. dxguid)
  28. target_link_options(graphics-hook PRIVATE "LINKER:/IGNORE:4099")
  29. if(MSVC)
  30. target_compile_options(graphics-hook PRIVATE "$<IF:$<CONFIG:Debug>,/MTd,/MT>")
  31. endif()
  32. set_target_properties(
  33. graphics-hook
  34. PROPERTIES FOLDER "plugins/win-capture"
  35. OUTPUT_NAME
  36. "graphics-hook$<IF:$<EQUAL:${CMAKE_SIZEOF_VOID_P},8>,64,32>")
  37. target_compile_definitions(graphics-hook PRIVATE COMPILE_D3D12_HOOK)
  38. if(TARGET Vulkan::Vulkan)
  39. target_sources(graphics-hook PRIVATE vulkan-capture.c vulkan-capture.h)
  40. target_link_libraries(graphics-hook PRIVATE Vulkan::Vulkan)
  41. target_compile_definitions(graphics-hook PRIVATE COMPILE_VULKAN_HOOK)
  42. add_target_resource(
  43. graphics-hook "${CMAKE_CURRENT_SOURCE_DIR}/obs-vulkan64.json"
  44. "obs-plugins/win-capture/")
  45. add_target_resource(
  46. graphics-hook "${CMAKE_CURRENT_SOURCE_DIR}/obs-vulkan32.json"
  47. "obs-plugins/win-capture/")
  48. endif()
  49. set(OBS_PLUGIN_DESTINATION "${OBS_DATA_DESTINATION}/obs-plugins/win-capture/")
  50. setup_plugin_target(graphics-hook)
  51. add_dependencies(win-capture graphics-hook)