nextcloud_add_test.cmake 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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
  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 COMMAND ${OWNCLOUD_TEST_CLASS}Test)
  20. endmacro()
  21. macro(nextcloud_add_benchmark test_class additional_cpp)
  22. set(CMAKE_AUTOMOC TRUE)
  23. set(OWNCLOUD_TEST_CLASS ${test_class})
  24. string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
  25. add_executable(${OWNCLOUD_TEST_CLASS}Bench benchmarks/bench${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
  26. set_target_properties(${OWNCLOUD_TEST_CLASS}Bench PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY})
  27. target_link_libraries(${OWNCLOUD_TEST_CLASS}Bench
  28. ${APPLICATION_EXECUTABLE}sync
  29. Qt5::Core Qt5::Test Qt5::Xml Qt5::Network
  30. )
  31. IF(BUILD_UPDATER)
  32. target_link_libraries(${OWNCLOUD_TEST_CLASS}Bench
  33. updater
  34. )
  35. endif()
  36. add_definitions(-DOWNCLOUD_TEST)
  37. add_definitions(-DOWNCLOUD_BIN_PATH="${CMAKE_BINARY_DIR}/bin")
  38. endmacro()