32bit-build.cmake 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. option(ENABLE_VIRTUALCAM "Enable Windows Virtual Camera" ON)
  2. if(NOT ENABLE_VIRTUALCAM)
  3. return()
  4. endif()
  5. if(NOT VIRTUALCAM_GUID)
  6. set(VIRTUALCAM_GUID "" CACHE STRING "Virtual Camera GUID" FORCE)
  7. mark_as_advanced(VIRTUALCAM_GUID)
  8. message(WARNING "Empty Virtual Camera GUID set.")
  9. return()
  10. else()
  11. set(VALID_GUID FALSE)
  12. check_uuid(${VIRTUALCAM_GUID} VALID_GUID)
  13. if(NOT VALID_GUID)
  14. message(WARNING "Invalid Virtual Camera GUID set.")
  15. return()
  16. endif()
  17. # DirectShow API requires separate GUID tokens
  18. string(REPLACE "-" ";" GUID_VALS ${VIRTUALCAM_GUID})
  19. list(GET GUID_VALS 0 GUID_VALS_DATA1)
  20. list(GET GUID_VALS 1 GUID_VALS_DATA2)
  21. list(GET GUID_VALS 2 GUID_VALS_DATA3)
  22. list(GET GUID_VALS 3 GUID_VALS_DATA4)
  23. list(GET GUID_VALS 4 GUID_VALS_DATA5)
  24. set(GUID_VAL01 ${GUID_VALS_DATA1})
  25. set(GUID_VAL02 ${GUID_VALS_DATA2})
  26. set(GUID_VAL03 ${GUID_VALS_DATA3})
  27. string(SUBSTRING ${GUID_VALS_DATA4} 0 2 GUID_VAL04)
  28. string(SUBSTRING ${GUID_VALS_DATA4} 2 2 GUID_VAL05)
  29. string(SUBSTRING ${GUID_VALS_DATA5} 0 2 GUID_VAL06)
  30. string(SUBSTRING ${GUID_VALS_DATA5} 2 2 GUID_VAL07)
  31. string(SUBSTRING ${GUID_VALS_DATA5} 4 2 GUID_VAL08)
  32. string(SUBSTRING ${GUID_VALS_DATA5} 6 2 GUID_VAL09)
  33. string(SUBSTRING ${GUID_VALS_DATA5} 8 2 GUID_VAL10)
  34. string(SUBSTRING ${GUID_VALS_DATA5} 10 2 GUID_VAL11)
  35. endif()
  36. add_library(obs-virtualcam-module MODULE)
  37. add_library(OBS::virtualcam ALIAS obs-virtualcam-module)
  38. target_sources(obs-virtualcam-module PRIVATE cmake/windows/virtualcam-module32.def)
  39. target_link_libraries(obs-virtualcam-module PRIVATE _virtualcam)
  40. set_property(TARGET obs-virtualcam-module PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
  41. set_property(TARGET obs-virtualcam-module PROPERTY OUTPUT_NAME obs-virtualcam-module32)