CMakeLists.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. cmake_minimum_required(VERSION 3.13)
  2. if(POLICY CMP0079)
  3. cmake_policy(SET CMP0079 NEW)
  4. endif()
  5. set(STREAMER_SOURCES
  6. main.cpp
  7. dispatchqueue.cpp
  8. dispatchqueue.hpp
  9. h264fileparser.cpp
  10. h264fileparser.hpp
  11. helpers.cpp
  12. helpers.hpp
  13. opusfileparser.cpp
  14. opusfileparser.hpp
  15. fileparser.cpp
  16. fileparser.hpp
  17. stream.cpp
  18. stream.hpp
  19. ArgParser.cpp
  20. ArgParser.hpp
  21. )
  22. set(STREAMER_UWP_RESOURCES
  23. uwp/Logo.png
  24. uwp/package.appxManifest
  25. uwp/SmallLogo.png
  26. uwp/SmallLogo44x44.png
  27. uwp/SplashScreen.png
  28. uwp/StoreLogo.png
  29. uwp/Windows_TemporaryKey.pfx
  30. )
  31. if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
  32. add_executable(streamer ${STREAMER_SOURCES} ${STREAMER_UWP_RESOURCES})
  33. else()
  34. add_executable(streamer ${STREAMER_SOURCES})
  35. endif()
  36. set_target_properties(streamer PROPERTIES
  37. CXX_STANDARD 17
  38. OUTPUT_NAME streamer)
  39. set_target_properties(streamer PROPERTIES
  40. XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.github.paullouisageneau.libdatachannel.examples.streamer)
  41. find_package(Threads REQUIRED)
  42. target_link_libraries(streamer LibDataChannel::LibDataChannel Threads::Threads nlohmann_json::nlohmann_json)
  43. if(MSVC)
  44. add_custom_command(TARGET streamer POST_BUILD
  45. COMMAND ${CMAKE_COMMAND} -E copy_if_different
  46. "$<TARGET_FILE_DIR:datachannel>/datachannel.dll"
  47. $<TARGET_FILE_DIR:streamer>
  48. )
  49. endif()