CMakeLists.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. ../obfuscate.c
  20. ../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. add_target_resource(win-capture "$<TARGET_PDB_FILE:graphics-hook>"
  32. "obs-plugins/win-capture/" OPTIONAL)
  33. endif()
  34. set_target_properties(
  35. graphics-hook
  36. PROPERTIES FOLDER "plugins/win-capture"
  37. OUTPUT_NAME
  38. "graphics-hook$<IF:$<EQUAL:${CMAKE_SIZEOF_VOID_P},8>,64,32>")
  39. target_compile_definitions(graphics-hook PRIVATE COMPILE_D3D12_HOOK)
  40. if(TARGET Vulkan::Vulkan)
  41. target_sources(graphics-hook PRIVATE vulkan-capture.c vulkan-capture.h)
  42. target_link_libraries(graphics-hook PRIVATE Vulkan::Vulkan)
  43. target_compile_definitions(graphics-hook PRIVATE COMPILE_VULKAN_HOOK)
  44. add_target_resource(
  45. win-capture "${CMAKE_CURRENT_SOURCE_DIR}/obs-vulkan64.json"
  46. "obs-plugins/win-capture/")
  47. add_target_resource(
  48. win-capture "${CMAKE_CURRENT_SOURCE_DIR}/obs-vulkan32.json"
  49. "obs-plugins/win-capture/")
  50. endif()
  51. add_target_resource(win-capture "$<TARGET_FILE:graphics-hook>"
  52. "obs-plugins/win-capture/")
  53. add_dependencies(win-capture graphics-hook)