nextcloud_add_test.cmake 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. find_package(Qt5 COMPONENTS Core Test Xml Network Qml Quick REQUIRED)
  2. macro(nextcloud_add_test test_class additional_cpp)
  3. set(CMAKE_AUTOMOC TRUE)
  4. set(OWNCLOUD_TEST_CLASS ${test_class})
  5. string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
  6. add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
  7. set_target_properties(${OWNCLOUD_TEST_CLASS}Test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY})
  8. target_link_libraries(${OWNCLOUD_TEST_CLASS}Test
  9. ${APPLICATION_EXECUTABLE}sync syncenginetestutils
  10. Qt5::Core Qt5::Test Qt5::Xml Qt5::Network Qt5::Qml Qt5::Quick
  11. )
  12. IF(BUILD_UPDATER)
  13. target_link_libraries(${OWNCLOUD_TEST_CLASS}Test
  14. updater
  15. )
  16. endif()
  17. add_definitions(-DOWNCLOUD_TEST)
  18. add_definitions(-DOWNCLOUD_BIN_PATH="${CMAKE_BINARY_DIR}/bin")
  19. add_test(NAME ${OWNCLOUD_TEST_CLASS}Test
  20. COMMAND ${OWNCLOUD_TEST_CLASS}Test
  21. WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
  22. target_include_directories(${OWNCLOUD_TEST_CLASS}Test PRIVATE "${CMAKE_SOURCE_DIR}/test/")
  23. endmacro()
  24. macro(nextcloud_add_benchmark test_class additional_cpp)
  25. set(CMAKE_AUTOMOC TRUE)
  26. set(OWNCLOUD_TEST_CLASS ${test_class})
  27. string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
  28. add_executable(${OWNCLOUD_TEST_CLASS}Bench benchmarks/bench${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
  29. set_target_properties(${OWNCLOUD_TEST_CLASS}Bench PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY})
  30. target_link_libraries(${OWNCLOUD_TEST_CLASS}Bench
  31. ${APPLICATION_EXECUTABLE}sync syncenginetestutils
  32. Qt5::Core Qt5::Test Qt5::Xml Qt5::Network
  33. )
  34. IF(BUILD_UPDATER)
  35. target_link_libraries(${OWNCLOUD_TEST_CLASS}Bench
  36. updater
  37. )
  38. endif()
  39. add_definitions(-DOWNCLOUD_TEST)
  40. add_definitions(-DOWNCLOUD_BIN_PATH="${CMAKE_BINARY_DIR}/bin")
  41. endmacro()