owncloud_add_test.cmake 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. find_package(Qt5 COMPONENTS Core Test Xml Network REQUIRED)
  2. macro(owncloud_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. updater
  10. ${APPLICATION_EXECUTABLE}sync
  11. Qt5::Core Qt5::Test Qt5::Xml Qt5::Network
  12. )
  13. add_definitions(-DOWNCLOUD_TEST)
  14. add_definitions(-DOWNCLOUD_BIN_PATH="${CMAKE_BINARY_DIR}/bin")
  15. add_test(NAME ${OWNCLOUD_TEST_CLASS}Test COMMAND ${OWNCLOUD_TEST_CLASS}Test)
  16. endmacro()
  17. macro(owncloud_add_benchmark test_class additional_cpp)
  18. set(CMAKE_AUTOMOC TRUE)
  19. set(OWNCLOUD_TEST_CLASS ${test_class})
  20. string(TOLOWER "${OWNCLOUD_TEST_CLASS}" OWNCLOUD_TEST_CLASS_LOWERCASE)
  21. add_executable(${OWNCLOUD_TEST_CLASS}Bench benchmarks/bench${OWNCLOUD_TEST_CLASS_LOWERCASE}.cpp ${additional_cpp})
  22. set_target_properties(${OWNCLOUD_TEST_CLASS}Bench PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY})
  23. target_link_libraries(${OWNCLOUD_TEST_CLASS}Bench
  24. updater
  25. ${APPLICATION_EXECUTABLE}sync
  26. Qt5::Core Qt5::Test Qt5::Xml Qt5::Network
  27. )
  28. add_definitions(-DOWNCLOUD_TEST)
  29. add_definitions(-DOWNCLOUD_BIN_PATH="${CMAKE_BINARY_DIR}/bin")
  30. endmacro()