]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/CMakeLists.txt
Rename KF5 to KF6
[dolphin.git] / src / tests / CMakeLists.txt
index 13a0abb583afd7e288cd493c3abb5acdcb0052a8..2495a3a595bc7404827f82cdfb63fb30e50b1cc7 100644 (file)
 set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
-include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BUILD_DIR}/.. ${KDE4_INCLUDES} )
 
-# needed on windows to correctly use the files from dolphinprivate
-add_definitions(-DLIBDOLPHINPRIVATE_EXPORT=)
+find_package(Qt${QT_MAJOR_VERSION}Test CONFIG REQUIRED)
+include(ECMAddTests)
+
+include(FindGem)  # For servicemenutest, see bottom of this file
 
 # KItemSetTest
-set(kitemsettest_SRCS
-    kitemsettest.cpp
-    ../kitemviews/kitemset.cpp
-)
-kde4_add_unit_test(kitemsettest TEST ${kitemsettest_SRCS})
-target_link_libraries(kitemsettest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+ecm_add_test(kitemsettest.cpp LINK_LIBRARIES dolphinprivate Qt${QT_MAJOR_VERSION}::Test)
 
 # KItemRangeTest
-set(kitemrangetest_SRCS
-    kitemrangetest.cpp
-)
-kde4_add_unit_test(kitemrangetest TEST ${kitemrangetest_SRCS})
-target_link_libraries(kitemrangetest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+ecm_add_test(kitemrangetest.cpp LINK_LIBRARIES dolphinprivate Qt${QT_MAJOR_VERSION}::Test)
+
 
 # KItemListSelectionManagerTest
-set(kitemlistselectionmanagertest_SRCS
-    kitemlistselectionmanagertest.cpp
-    ../kitemviews/kitemlistselectionmanager.cpp
-    ../kitemviews/kitemmodelbase.cpp
-    ../kitemviews/kitemset.cpp
-)
-kde4_add_unit_test(kitemlistselectionmanagertest TEST ${kitemlistselectionmanagertest_SRCS})
-target_link_libraries(kitemlistselectionmanagertest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+ecm_add_test(kitemlistselectionmanagertest.cpp LINK_LIBRARIES dolphinprivate Qt${QT_MAJOR_VERSION}::Test)
 
 # KItemListControllerTest
-set(kitemlistcontrollertest_SRCS
-    kitemlistcontrollertest.cpp
-    testdir.cpp
-    ../kitemviews/kfileitemmodel.cpp
-    ../kitemviews/kfileitemlistview.cpp
-    ../kitemviews/kfileitemlistwidget.cpp
-    ../kitemviews/kitemmodelbase.cpp
-    ../kitemviews/kitemlistview.cpp
-    ../kitemviews/kitemlistcontainer.cpp
-    ../kitemviews/kitemlistwidget.cpp
-#    ../kitemviews/kitemlistviewaccessible.cpp # TODO: enable once accessibility is ported to Qt5
-    ../kitemviews/kitemset.cpp
-    ../kitemviews/kstandarditemlistview.cpp
-    ../kitemviews/kstandarditemlistwidget.cpp
-)
-kde4_add_unit_test(kitemlistcontrollertest TEST ${kitemlistcontrollertest_SRCS})
-target_link_libraries(kitemlistcontrollertest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+ecm_add_test(kitemlistcontrollertest.cpp testdir.cpp
+TEST_NAME kitemlistcontrollertest
+LINK_LIBRARIES dolphinprivate Qt${QT_MAJOR_VERSION}::Test)
 
 # KFileItemListViewTest
-set(kfileitemlistviewtest_SRCS
-    kfileitemlistviewtest.cpp
-    testdir.cpp
-    ../kitemviews/kfileitemmodel.cpp
-    ../kitemviews/kfileitemlistview.cpp
-    ../kitemviews/kitemmodelbase.cpp
-    ../kitemviews/kitemlistview.cpp
-#    ../kitemviews/kitemlistviewaccessible.cpp # TODO: enable once accessibility is ported to Qt5
-    ../kitemviews/kitemlistcontainer.cpp
-    ../kitemviews/kitemlistwidget.cpp
-    ../kitemviews/kitemset.cpp
-    ../kitemviews/kstandarditemlistview.cpp
-    ../kitemviews/kstandarditemlistwidget.cpp
-)
-kde4_add_unit_test(kfileitemlistviewtest TEST ${kfileitemlistviewtest_SRCS})
-target_link_libraries(kfileitemlistviewtest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+ecm_add_test(kfileitemlistviewtest.cpp testdir.cpp
+TEST_NAME kfileitemlistviewtest
+LINK_LIBRARIES dolphinprivate Qt${QT_MAJOR_VERSION}::Test)
 
 # KFileItemModelTest
-set(kfileitemmodeltest_SRCS
-    kfileitemmodeltest.cpp
-    testdir.cpp
-    ../kitemviews/kfileitemmodel.cpp
-    ../kitemviews/kitemmodelbase.cpp
-    ../kitemviews/kitemset.cpp
-)
-kde4_add_unit_test(kfileitemmodeltest TEST ${kfileitemmodeltest_SRCS})
-target_link_libraries(kfileitemmodeltest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
-
-# KFileItemModelBenchmark
-set(kfileitemmodelbenchmark_SRCS
-    kfileitemmodelbenchmark.cpp
-    testdir.cpp
-    ../kitemviews/kfileitemmodel.cpp
-    ../kitemviews/kitemmodelbase.cpp
-)
-kde4_add_executable(kfileitemmodelbenchmark TEST ${kfileitemmodelbenchmark_SRCS})
-target_link_libraries(kfileitemmodelbenchmark dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+ecm_add_test(kfileitemmodeltest.cpp testdir.cpp
+TEST_NAME kfileitemmodeltest
+LINK_LIBRARIES dolphinprivate dolphinstatic Qt${QT_MAJOR_VERSION}::Test)
+
+# KFileItemModelBenchmark, not run automatically with `ctest` or `make test`
+add_executable(kfileitemmodelbenchmark kfileitemmodelbenchmark.cpp testdir.cpp)
+target_link_libraries(kfileitemmodelbenchmark dolphinprivate Qt${QT_MAJOR_VERSION}::Test)
 
 # KItemListKeyboardSearchManagerTest
-set(kitemlistkeyboardsearchmanagertest_SRCS
-    kitemlistkeyboardsearchmanagertest.cpp
-    ../kitemviews/private/kitemlistkeyboardsearchmanager.cpp
-)
-kde4_add_unit_test(kitemlistkeyboardsearchmanagertest TEST ${kitemlistkeyboardsearchmanagertest_SRCS})
-target_link_libraries(kitemlistkeyboardsearchmanagertest ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+ecm_add_test(kitemlistkeyboardsearchmanagertest.cpp LINK_LIBRARIES dolphinprivate Qt${QT_MAJOR_VERSION}::Test)
 
 # DolphinSearchBox
-if (Baloo_FOUND)
-  set(dolphinsearchboxtest_SRCS
-      dolphinsearchboxtest.cpp
-      ../search/dolphinfacetswidget.cpp
-      ../search/dolphinsearchbox.cpp
-  )
-  kde4_add_kcfg_files(dolphinsearchboxtest_SRCS
-      ../search/dolphin_searchsettings.kcfgc
-  )
-  kde4_add_unit_test(dolphinsearchboxtest TEST ${dolphinsearchboxtest_SRCS})
-  target_link_libraries(dolphinsearchboxtest ${KDE4_KIO_LIBS} ${BALOO_FILE_LIBRARY} ${BALOO_CORE_LIBRARY} ${QT_QTTEST_LIBRARY})
-endif (Baloo_FOUND)
-
-# KStandardItemModelTest
-set(kstandarditemmodeltest_SRCS
-    kstandarditemmodeltest.cpp
-    ../kitemviews/kstandarditem.cpp
-    ../kitemviews/kstandarditemmodel.cpp
-    ../kitemviews/kitemmodelbase.cpp
-)
-kde4_add_unit_test(kstandarditemmodeltest TEST ${kstandarditemmodeltest_SRCS})
-target_link_libraries(kstandarditemmodeltest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+if (KF6Baloo_FOUND)
+    ecm_add_test(dolphinsearchboxtest.cpp
+    TEST_NAME dolphinsearchboxtest
+    LINK_LIBRARIES dolphinprivate dolphinstatic Qt${QT_MAJOR_VERSION}::Test)
+endif()
+
+# DolphinQuery
+if (KF6Baloo_FOUND)
+    ecm_add_test(dolphinquerytest.cpp
+    TEST_NAME dolphinquerytest
+    LINK_LIBRARIES dolphinprivate dolphinstatic Qt${QT_MAJOR_VERSION}::Test)
+endif()
 
 # ViewPropertiesTest
-set(viewpropertiestest_SRCS
-    viewpropertiestest.cpp
-    testdir.cpp
-    ../views/viewproperties.cpp
-)
-kde4_add_kcfg_files(viewpropertiestest_SRCS
-  ../settings/dolphin_generalsettings.kcfgc
-  ../settings/dolphin_directoryviewpropertysettings.kcfgc
-)
-kde4_add_unit_test(viewpropertiestest TEST ${viewpropertiestest_SRCS})
-target_link_libraries(viewpropertiestest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
+ecm_add_test(viewpropertiestest.cpp testdir.cpp
+TEST_NAME viewpropertiestest
+LINK_LIBRARIES dolphinprivate dolphinstatic Qt${QT_MAJOR_VERSION}::Test)
+
+# DolphinMainWindowTest
+ecm_add_test(dolphinmainwindowtest.cpp testdir.cpp ${CMAKE_SOURCE_DIR}/src/dolphin.qrc
+TEST_NAME dolphinmainwindowtest
+LINK_LIBRARIES dolphinprivate dolphinstatic Qt${QT_MAJOR_VERSION}::Test)
+
+# DragAndDropHelperTest
+ecm_add_test(draganddrophelpertest.cpp LINK_LIBRARIES dolphinprivate Qt${QT_MAJOR_VERSION}::Test)
+
+find_gem(test-unit)
+set_package_properties(Gem:test-unit PROPERTIES
+    TYPE RECOMMENDED
+    DESCRIPTION "Ruby gem 'test-unit' required for testing of servicemenu helpers.")
+if (Gem:test-unit_FOUND)
+    add_test(NAME servicemenutest
+    COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../settings/contextmenu/test/test_run.rb)
+endif()