Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

CMakeLists.txt 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. SET(TESTSRC rspamd_mem_pool_test.c
  2. rspamd_statfile_test.c
  3. rspamd_url_test.c
  4. rspamd_dns_test.c
  5. rspamd_async_test.c
  6. rspamd_dkim_test.c
  7. rspamd_rrd_test.c
  8. rspamd_radix_test.c
  9. rspamd_shingles_test.c
  10. rspamd_upstream_test.c
  11. rspamd_http_test.c
  12. rspamd_lua_test.c
  13. rspamd_cryptobox_test.c
  14. rspamd_heap_test.c
  15. rspamd_test_suite.c)
  16. ADD_EXECUTABLE(rspamd-test EXCLUDE_FROM_ALL ${TESTSRC})
  17. SET_TARGET_PROPERTIES(rspamd-test PROPERTIES LINKER_LANGUAGE C)
  18. SET_TARGET_PROPERTIES(rspamd-test PROPERTIES COMPILE_FLAGS "-DRSPAMD_TEST")
  19. ADD_DEPENDENCIES(rspamd-test rspamd-server)
  20. IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
  21. TARGET_LINK_LIBRARIES(rspamd-test "-Wl,-whole-archive ${CMAKE_BINARY_DIR}/src/librspamd-server.a -Wl,-no-whole-archive")
  22. ELSE(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
  23. TARGET_LINK_LIBRARIES(rspamd-test "-Wl,-force_load ${CMAKE_BINARY_DIR}/src/librspamd-server.a")
  24. ENDIF(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
  25. TARGET_LINK_LIBRARIES(rspamd-test rspamd-cdb)
  26. TARGET_LINK_LIBRARIES(rspamd-test lcbtrie)
  27. TARGET_LINK_LIBRARIES(rspamd-test rspamd-http-parser)
  28. TARGET_LINK_LIBRARIES(rspamd-test ${RSPAMD_REQUIRED_LIBRARIES})
  29. IF (ENABLE_SNOWBALL MATCHES "ON")
  30. TARGET_LINK_LIBRARIES(rspamd-test stemmer)
  31. ENDIF()
  32. IF(ENABLE_HIREDIS MATCHES "ON")
  33. TARGET_LINK_LIBRARIES(rspamd-test rspamd-hiredis)
  34. ENDIF()
  35. IF (ENABLE_HYPERSCAN MATCHES "ON")
  36. TARGET_LINK_LIBRARIES(rspamd-test hs)
  37. SET_TARGET_PROPERTIES(rspamd-test PROPERTIES LINKER_LANGUAGE CXX)
  38. ENDIF()
  39. TARGET_LINK_LIBRARIES(rspamd-test rspamd-actrie)
  40. ADD_CUSTOM_TARGET(rspamd-func-test COMMAND
  41. "/bin/sh"
  42. "${CMAKE_CURRENT_BINARY_DIR}/functional/tests.sh")
  43. ADD_DEPENDENCIES(rspamd-func-test rspamd-test)
  44. ADD_DEPENDENCIES(rspamd-func-test rspamc)
  45. ADD_DEPENDENCIES(rspamd-func-test rspamd)
  46. IF(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
  47. # Also add dependencies for convenience
  48. FILE(GLOB_RECURSE LUA_TESTS "${CMAKE_CURRENT_SOURCE_DIR}/lua/*")
  49. ADD_CUSTOM_TARGET(units-dir COMMAND
  50. ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/lua/unit"
  51. )
  52. ADD_DEPENDENCIES(rspamd-test units-dir)
  53. FOREACH(_LF IN LISTS LUA_TESTS)
  54. GET_FILENAME_COMPONENT(_NM "${_LF}" NAME)
  55. IF("${_LF}" MATCHES "^.*/unit/.*$")
  56. SET(_DS "${CMAKE_CURRENT_BINARY_DIR}/lua/unit/${_NM}")
  57. ELSE()
  58. SET(_DS "${CMAKE_CURRENT_BINARY_DIR}/lua/${_NM}")
  59. ENDIF()
  60. ADD_CUSTOM_TARGET("${_NM}" COMMAND
  61. ${CMAKE_COMMAND} -E copy_if_different ${_LF} ${_DS}
  62. SOURCES "${_LF}"
  63. )
  64. ADD_DEPENDENCIES(rspamd-test "${_NM}")
  65. ENDFOREACH()
  66. ADD_CUSTOM_TARGET(functional-dir COMMAND
  67. ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/functional/cases"
  68. COMMAND ${CMAKE_COMMAND} -E make_directory
  69. "${CMAKE_CURRENT_BINARY_DIR}/functional/configs"
  70. COMMAND ${CMAKE_COMMAND} -E make_directory
  71. "${CMAKE_CURRENT_BINARY_DIR}/functional/messages"
  72. )
  73. ADD_DEPENDENCIES(rspamd-func-test functional-dir)
  74. FILE(GLOB_RECURSE BATS_TESTS "${CMAKE_CURRENT_SOURCE_DIR}/functional/*")
  75. FOREACH(_LF IN LISTS BATS_TESTS)
  76. GET_FILENAME_COMPONENT(_NM "${_LF}" NAME)
  77. STRING(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}"
  78. _DS "${_LF}")
  79. ADD_CUSTOM_TARGET("${_NM}" COMMAND
  80. ${CMAKE_COMMAND} -E copy_if_different ${_LF} ${_DS}
  81. SOURCES "${_LF}"
  82. )
  83. ADD_DEPENDENCIES(rspamd-func-test "${_NM}")
  84. ENDFOREACH()
  85. ENDIF()