You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. include(CTest)
  2. IF(BUILD_TESTING MATCHES "ON")
  3. SET(TESTSRC rspamd_mem_pool_test.c
  4. rspamd_statfile_test.c
  5. rspamd_url_test.c
  6. rspamd_dns_test.c
  7. rspamd_dkim_test.c
  8. rspamd_rrd_test.c
  9. rspamd_radix_test.c
  10. rspamd_shingles_test.c
  11. rspamd_upstream_test.c
  12. rspamd_lua_pcall_vs_resume_test.c
  13. rspamd_lua_test.c
  14. rspamd_cryptobox_test.c
  15. rspamd_heap_test.c
  16. rspamd_test_suite.c)
  17. ADD_EXECUTABLE(rspamd-test ${TESTSRC})
  18. SET_TARGET_PROPERTIES(rspamd-test PROPERTIES COMPILE_FLAGS "-DRSPAMD_TEST")
  19. ADD_DEPENDENCIES(rspamd-test rspamd-server)
  20. SET_TARGET_PROPERTIES(rspamd-test PROPERTIES LINKER_LANGUAGE CXX)
  21. TARGET_LINK_LIBRARIES(rspamd-test rspamd-server)
  22. ADD_TEST(NAME rspamd-test COMMAND rspamd-test "-p" "/rspamd/lua")
  23. SET(CXXTESTSSRC rspamd_cxx_unit.cxx)
  24. ADD_EXECUTABLE(rspamd-test-cxx ${CXXTESTSSRC})
  25. SET_TARGET_PROPERTIES(rspamd-test-cxx PROPERTIES LINKER_LANGUAGE CXX)
  26. ADD_DEPENDENCIES(rspamd-test-cxx rspamd-server)
  27. TARGET_LINK_LIBRARIES(rspamd-test-cxx PRIVATE rspamd-server)
  28. SET_TARGET_PROPERTIES(rspamd-test-cxx PROPERTIES LINKER_LANGUAGE CXX)
  29. ADD_TEST(NAME rspamd-test-cxx COMMAND rspamd-test-cxx)
  30. IF(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
  31. # Also add dependencies for convenience
  32. FILE(GLOB_RECURSE LUA_TESTS CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/lua/*.*")
  33. ADD_CUSTOM_TARGET(units-dir COMMAND
  34. ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/lua/unit"
  35. )
  36. ADD_DEPENDENCIES(rspamd-test units-dir)
  37. FOREACH(_LF IN LISTS LUA_TESTS)
  38. GET_FILENAME_COMPONENT(_NM "${_LF}" NAME)
  39. IF("${_LF}" MATCHES "^.*/unit/.*$")
  40. SET(_DS "${CMAKE_CURRENT_BINARY_DIR}/lua/unit/${_NM}")
  41. ELSE()
  42. SET(_DS "${CMAKE_CURRENT_BINARY_DIR}/lua/${_NM}")
  43. ENDIF()
  44. ADD_CUSTOM_TARGET("${_NM}" COMMAND
  45. ${CMAKE_COMMAND} -E copy_if_different ${_LF} ${_DS}
  46. SOURCES "${_LF}"
  47. )
  48. ADD_DEPENDENCIES(rspamd-test "${_NM}")
  49. ENDFOREACH()
  50. ENDIF()
  51. ENDIF()