CMakeLists.txt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. enable_testing()
  2. include(GenerateExportHeader)
  3. find_package(
  4. Boost
  5. COMPONENTS
  6. program_options
  7. system
  8. REQUIRED
  9. )
  10. find_package(OpenSSL REQUIRED)
  11. find_package(Catch2 REQUIRED)
  12. if(MINGW)
  13. ENABLE_LANGUAGE(RC)
  14. endif()
  15. add_library(syncspirit_test_lib SHARED
  16. $<$<PLATFORM_ID:Windows>:win32-resource.rc>
  17. test_supervisor.cpp
  18. test-db.cpp
  19. test-utils.cpp
  20. diff-builder.cpp
  21. )
  22. target_link_libraries(syncspirit_test_lib syncspirit_core
  23. Catch2::Catch2WithMain
  24. $<$<PLATFORM_ID:Windows>:wsock32>
  25. $<$<PLATFORM_ID:Windows>:ws2_32>
  26. $<$<PLATFORM_ID:Windows>:iphlpapi>
  27. )
  28. target_include_directories(syncspirit_test_lib PUBLIC
  29. "${syncspirit_SOURCE_DIR}/src"
  30. "${CMAKE_CURRENT_BINARY_DIR}/include"
  31. )
  32. generate_export_header(syncspirit_test_lib
  33. EXPORT_MACRO_NAME SYNCSPIRIT_TEST_API
  34. EXPORT_FILE_NAME include/syncspirit-test-export.h
  35. )
  36. function(create_test source)
  37. cmake_path(REMOVE_EXTENSION source LAST_ONLY OUTPUT_VARIABLE target)
  38. add_executable(${target} ${source} $<$<PLATFORM_ID:Windows>:win32-resource.rc>)
  39. target_link_libraries(${target} syncspirit_test_lib)
  40. add_test(
  41. NAME "${target}-test"
  42. COMMAND $<TARGET_FILE_NAME:${target}>
  43. )
  44. endfunction()
  45. add_custom_command(TARGET syncspirit_test_lib PRE_BUILD
  46. COMMAND ${CMAKE_COMMAND} -E copy_directory
  47. ${CMAKE_SOURCE_DIR}/tests/data ${CMAKE_BINARY_DIR}/data)
  48. create_test(009-uri.cpp)
  49. create_test(010-upnp-support.cpp)
  50. create_test(011-tls-util.cpp)
  51. create_test(012-base32.cpp)
  52. create_test(013-global-discovery.cpp)
  53. create_test(014-configuration.cpp)
  54. create_test(015-logger.cpp)
  55. create_test(016-relay-support.cpp)
  56. create_test(017-fs-utils.cpp)
  57. create_test(018-dns.cpp)
  58. create_test(020-generic-map.cpp)
  59. create_test(021-orphaned-blocks.cpp)
  60. create_test(022-version.cpp)
  61. create_test(025-device_id.cpp)
  62. create_test(026-file_info.cpp)
  63. create_test(029-diff-generic.cpp)
  64. create_test(030-diff-load-cluster.cpp)
  65. create_test(031-diff-cluster_update.cpp)
  66. create_test(032-diff-modify.cpp)
  67. create_test(033-diffs-trivial.cpp)
  68. create_test(034-diff-local_update.cpp)
  69. create_test(036-diff-blocks.cpp)
  70. create_test(037-diff-update_folder.cpp)
  71. create_test(038-diff-clone_finish-file.cpp)
  72. create_test(039-diff-remove-peer.cpp)
  73. create_test(040-diff-contacts.cpp)
  74. create_test(041-diff-remove-folder.cpp)
  75. create_test(045-diff-advance.cpp)
  76. create_test(050-file_iterator.cpp)
  77. create_test(051-block_iterator.cpp)
  78. create_test(052-file_info.cpp)
  79. create_test(053-scan_task.cpp)
  80. create_test(054-updates_streamer.cpp)
  81. create_test(055-resolver.cpp)
  82. create_test(060-bep.cpp)
  83. create_test(070-db.cpp)
  84. create_test(071-fs_actor.cpp)
  85. create_test(072-global_discovery.cpp)
  86. create_test(073-dialer.cpp)
  87. create_test(074-hasher.cpp)
  88. create_test(075-controller.cpp)
  89. create_test(077-initiator.cpp)
  90. create_test(078-relay.cpp)
  91. create_test(079-peer.cpp)
  92. create_test(080-resolver.cpp)
  93. create_test(085-scan-scheduler.cpp)
  94. create_test(086-scan_actor.cpp)