Warning, /frameworks/kconfig/autotests/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 include(ECMAddTests) 0002 0003 find_package(Qt6Test ${REQUIRED_QT_VERSION} CONFIG QUIET) 0004 find_package(Qt6Concurrent ${REQUIRED_QT_VERSION} CONFIG QUIET) 0005 0006 if(NOT Qt6Test_FOUND) 0007 message(STATUS "Qt6Test not found, autotests will not be built.") 0008 return() 0009 endif() 0010 0011 if(NOT Qt6Concurrent_FOUND) 0012 message(STATUS "Qt6Concurrent not found, autotests will not be built.") 0013 return() 0014 endif() 0015 0016 # compile KEntryMap into the test since it's not exported 0017 ecm_add_test( 0018 kentrymaptest.cpp 0019 ../src/core/kconfigdata.cpp 0020 TEST_NAME kentrymaptest 0021 LINK_LIBRARIES Qt6::Test 0022 ) 0023 target_include_directories(kentrymaptest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../src/core) 0024 0025 qt_add_resources(sharedconfigresources sharedconfigresources.qrc) 0026 0027 ecm_add_test(ksharedconfigtest.cpp ${sharedconfigresources} TEST_NAME kconfigcore-ksharedconfigtest LINK_LIBRARIES KF6::ConfigCore Qt6::Test Qt6::Concurrent) 0028 0029 # test for fallback to :/kconfig/xxxx config resource 0030 qt_add_resources(fallbackconfigresources fallbackconfigresources.qrc) 0031 ecm_add_test(fallbackconfigresourcestest.cpp ${fallbackconfigresources} TEST_NAME kconfigcore-fallbackconfigresourcestest LINK_LIBRARIES KF6::ConfigCore Qt6::Test Qt6::Concurrent) 0032 0033 ecm_add_tests( 0034 kconfignokdehometest.cpp 0035 kconfigtest.cpp 0036 kdesktopfiletest.cpp 0037 test_kconf_update.cpp 0038 ksharedconfig_in_global_object.cpp 0039 dbussanitizertest.cpp 0040 NAME_PREFIX kconfigcore- 0041 LINK_LIBRARIES KF6::ConfigCore Qt6::Test Qt6::Concurrent 0042 ) 0043 0044 add_dependencies(test_kconf_update kconf_update) 0045 0046 if(TARGET Qt6::Gui) 0047 ecm_add_tests( 0048 kconfigguitest.cpp 0049 kconfigloadertest.cpp 0050 kconfigskeletontest.cpp 0051 kstandardshortcuttest.cpp 0052 NAME_PREFIX kconfiggui- 0053 LINK_LIBRARIES KF6::ConfigGui Qt6::Test 0054 ) 0055 0056 ecm_add_test( 0057 kstandardshortcutwatchertest.cpp 0058 # add sources instead of linking so we can use the unexported initialize() 0059 ../src/gui/kstandardshortcut.cpp 0060 ../src/gui/kstandardshortcutwatcher.cpp 0061 LINK_LIBRARIES KF6::ConfigCore Qt6::Gui Qt6::Test 0062 TEST_NAME kstandardshortcutwatchertest 0063 NAME_PREFIX kconfiggui- 0064 ) 0065 target_include_directories(kstandardshortcutwatchertest PRIVATE "$<TARGET_PROPERTY:KF6ConfigGui,INTERFACE_INCLUDE_DIRECTORIES>") 0066 target_compile_definitions(kstandardshortcutwatchertest PRIVATE "-DKCONFIGGUI_STATIC_DEFINE") 0067 0068 # These tests do a global cleanup of ~/.qttest, so they can't run in parallel 0069 set_tests_properties(kconfigcore-kconfigtest PROPERTIES RUN_SERIAL TRUE) 0070 set_tests_properties(kconfigcore-kconfignokdehometest PROPERTIES RUN_SERIAL TRUE) 0071 set_tests_properties(kconfiggui-kconfigguitest PROPERTIES RUN_SERIAL TRUE) 0072 0073 if(NOT CMAKE_CROSSCOMPILING) 0074 add_subdirectory(kconfig_compiler) 0075 endif() 0076 endif() 0077 0078 find_package(Qt6 OPTIONAL_COMPONENTS Widgets) 0079 if(TARGET Qt6::Widgets) 0080 ecm_add_test(kwindowstatesavertest.cpp LINK_LIBRARIES KF6::ConfigGui Qt6::Test Qt6::Widgets) 0081 endif() 0082 0083 # benchmarks, don't execute during normal testing 0084 # they don't test additional stuff 0085 add_executable(kconfig_benchmark kconfig_benchmark.cpp) 0086 ecm_mark_nongui_executable(kconfig_benchmark) 0087 add_test(NAME kconfig_benchmark COMMAND kconfig_benchmark CONFIGURATIONS BENCHMARK) 0088 target_link_libraries(kconfig_benchmark KF6::ConfigCore Qt6::Test)