CMakeLists.txt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. cmake_minimum_required(VERSION 3.13)
  2. if(POLICY CMP0079)
  3. cmake_policy(SET CMP0079 NEW)
  4. endif()
  5. set(CLIENT_SOURCES
  6. main.cpp
  7. parse_cl.cpp
  8. parse_cl.h
  9. )
  10. set(GETOPT_SOURCES
  11. getopt.cpp
  12. getopt.h
  13. )
  14. if(WIN32)
  15. add_executable(datachannel-client-benchmark ${CLIENT_SOURCES} ${GETOPT_SOURCES})
  16. target_compile_definitions(datachannel-client-benchmark PUBLIC STATIC_GETOPT)
  17. else()
  18. add_executable(datachannel-client-benchmark ${CLIENT_SOURCES})
  19. endif()
  20. set_target_properties(datachannel-client-benchmark PROPERTIES
  21. CXX_STANDARD 17
  22. OUTPUT_NAME client-benchmark)
  23. set_target_properties(datachannel-client-benchmark PROPERTIES
  24. XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.github.paullouisageneau.libdatachannel.examples.client.benchmark)
  25. find_package(Threads REQUIRED)
  26. target_link_libraries(datachannel-client-benchmark LibDataChannel::LibDataChannel Threads::Threads nlohmann_json::nlohmann_json)
  27. if(MSVC)
  28. add_custom_command(TARGET datachannel-client-benchmark POST_BUILD
  29. COMMAND ${CMAKE_COMMAND} -E copy_if_different
  30. "$<TARGET_FILE_DIR:datachannel>/datachannel.dll"
  31. $<TARGET_FILE_DIR:datachannel-client-benchmark>
  32. )
  33. endif()