owncloud_add_test.cmake 1.1 KB

123456789101112131415161718192021222324252627
  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(OWNCLOUD_TEST_CLASS ${test_class})
  9. set(CMAKE_AUTOMOC TRUE)
  10. string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
  11. configure_file(main.cpp.in test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp)
  12. configure_file(test${OWNCLOUD_TEST_CLASS_LOWERCASE}.h test${OWNCLOUD_TEST_CLASS_LOWERCASE}.h)
  13. qt_wrap_cpp(test${OWNCLOUD_TEST_CLASS_LOWERCASE}.h)
  14. add_executable(${OWNCLOUD_TEST_CLASS}Test test${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
  15. qt5_use_modules(${OWNCLOUD_TEST_CLASS}Test Test Sql Xml Network Gui Widgets)
  16. target_link_libraries(${OWNCLOUD_TEST_CLASS}Test
  17. updater
  18. ${APPLICATION_EXECUTABLE}sync
  19. ${QT_QTTEST_LIBRARY}
  20. ${QT_QTCORE_LIBRARY}
  21. )
  22. add_test(NAME ${OWNCLOUD_TEST_CLASS}Test COMMAND ${OWNCLOUD_TEST_CLASS}Test)
  23. endmacro()