owncloud_add_test.cmake 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. macro(owncloud_add_test test_class additional_cpp)
  2. include_directories(${QT_INCLUDES}
  3. "${PROJECT_SOURCE_DIR}/src/gui"
  4. "${PROJECT_SOURCE_DIR}/src/libsync"
  5. "${CMAKE_BINARY_DIR}/src/libsync"
  6. "${CMAKE_CURRENT_BINARY_DIR}"
  7. )
  8. set(CMAKE_AUTOMOC TRUE)
  9. set(OWNCLOUD_TEST_CLASS ${test_class})
  10. string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
  11. add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
  12. qt5_use_modules(${OWNCLOUD_TEST_CLASS}Test Test Sql Xml Network)
  13. target_link_libraries(${OWNCLOUD_TEST_CLASS}Test
  14. updater
  15. ${APPLICATION_EXECUTABLE}sync
  16. ${QT_QTTEST_LIBRARY}
  17. ${QT_QTCORE_LIBRARY}
  18. )
  19. add_definitions(-DOWNCLOUD_TEST)
  20. add_definitions(-DOWNCLOUD_BIN_PATH=${CMAKE_BINARY_DIR}/bin)
  21. add_test(NAME ${OWNCLOUD_TEST_CLASS}Test COMMAND ${OWNCLOUD_TEST_CLASS}Test)
  22. endmacro()
  23. macro(owncloud_add_benchmark test_class additional_cpp)
  24. include_directories(${CMAKE_CURRENT_SOURCE_DIR}
  25. ${QT_INCLUDES}
  26. "${PROJECT_SOURCE_DIR}/src/gui"
  27. "${PROJECT_SOURCE_DIR}/src/libsync"
  28. "${CMAKE_BINARY_DIR}/src/libsync"
  29. "${CMAKE_CURRENT_BINARY_DIR}"
  30. )
  31. set(CMAKE_AUTOMOC TRUE)
  32. set(OWNCLOUD_TEST_CLASS ${test_class})
  33. string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
  34. add_executable(${OWNCLOUD_TEST_CLASS}Bench benchmarks/bench${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
  35. qt5_use_modules(${OWNCLOUD_TEST_CLASS}Bench Test Sql Xml Network)
  36. target_link_libraries(${OWNCLOUD_TEST_CLASS}Bench
  37. updater
  38. ${APPLICATION_EXECUTABLE}sync
  39. ${QT_QTTEST_LIBRARY}
  40. ${QT_QTCORE_LIBRARY}
  41. )
  42. add_definitions(-DOWNCLOUD_TEST)
  43. add_definitions(-DOWNCLOUD_BIN_PATH=${CMAKE_BINARY_DIR}/bin)
  44. endmacro()