aboutsummaryrefslogtreecommitdiff
path: root/autotests/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'autotests/CMakeLists.txt')
-rw-r--r--autotests/CMakeLists.txt59
1 files changed, 59 insertions, 0 deletions
diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt
new file mode 100644
index 00000000..e4790f69
--- /dev/null
+++ b/autotests/CMakeLists.txt
@@ -0,0 +1,59 @@
+
+remove_definitions(-DQT_NO_CAST_FROM_ASCII)
+
+include(ECMMarkAsTest)
+
+find_package(Qt5 5.2.0 CONFIG REQUIRED Concurrent Test Widgets)
+
+macro(KCONFIGCORE_UNIT_TESTS)
+ foreach(_testname ${ARGN})
+ add_executable(${_testname} ${_testname}.cpp) # TODO NOGUI
+ add_test(kconfigcore-${_testname} ${_testname})
+ target_link_libraries(${_testname} KF5::ConfigCore Qt5::Test Qt5::Concurrent)
+ ecm_mark_as_test(${_testname})
+ endforeach()
+endmacro()
+
+macro(KCONFIGGUI_UNIT_TESTS)
+ foreach(_testname ${ARGN})
+ add_executable(${_testname} ${_testname}.cpp)
+ add_test(kconfiggui-${_testname} ${_testname})
+ target_link_libraries(${_testname} KF5::ConfigGui Qt5::Test)
+ ecm_mark_as_test(${_testname})
+ endforeach()
+endmacro()
+
+kconfigcore_unit_tests(
+ kconfignokdehometest
+ kconfigtest
+ kdesktopfiletest
+ ksharedconfigtest
+ test_kconf_update
+)
+
+target_include_directories(test_kconf_update PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../src/kconf_update)
+
+# compile KEntryMap into the test since it's not exported
+set(kentrymaptest_SRCS kentrymaptest.cpp ../src/core/kconfigdata.cpp)
+add_executable(kentrymaptest ${kentrymaptest_SRCS})
+add_test(kconfigcore-kentrymaptest kentrymaptest)
+target_link_libraries(kentrymaptest KF5::ConfigCore Qt5::Test)
+ecm_mark_as_test(kentrymaptest)
+
+# compile KConfigUtils into the test since it's not exported
+set(test_kconfigutils_SRCS test_kconfigutils ../src/kconf_update/kconfigutils.cpp)
+add_executable(test_kconfigutils ${test_kconfigutils_SRCS})
+add_test(kconfigcore-test_kconfigutils test_kconfigutils)
+target_link_libraries(test_kconfigutils KF5::ConfigCore Qt5::Test)
+target_include_directories(test_kconfigutils PRIVATE ../src/kconf_update)
+ecm_mark_as_test(test_kconfigutils)
+
+kconfiggui_unit_tests(
+ kconfigguitest
+ kconfigloadertest
+ kconfigskeletontest
+ kstandardshortcuttest
+)
+
+add_subdirectory(kconfig_compiler)
+