Warning, /frameworks/kcoreaddons/autotests/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 set(KCOREADDONS_INTERNAL_SKIP_PLUGIN_INSTALLATION ON) 0002 add_definitions(-DQT_FORCE_ASSERTS=1) 0003 0004 include(ECMAddTests) 0005 include(ConfigureChecks.cmake) # configure checks for QFileSystemWatcher 0006 include(../KF6CoreAddonsMacros.cmake) 0007 0008 find_package(Qt6Test ${REQUIRED_QT_VERSION} CONFIG QUIET) 0009 0010 if(NOT TARGET Qt6::Test) 0011 message(STATUS "QtTest not found, autotests will not be built.") 0012 return() 0013 endif() 0014 0015 if(NOT CMAKE_BUILD_TYPE MATCHES "[Dd]ebug$") 0016 set(ENABLE_BENCHMARKS 1) 0017 endif() 0018 0019 add_library(autotests_static STATIC) 0020 # Needed to link this static lib to shared libs 0021 set_property(TARGET autotests_static PROPERTY POSITION_INDEPENDENT_CODE ON) 0022 ecm_qt_declare_logging_category(autotests_static 0023 HEADER kcoreaddons_debug.h 0024 IDENTIFIER KCOREADDONS_DEBUG 0025 CATEGORY_NAME kf.coreaddons 0026 ) 0027 target_link_libraries(autotests_static Qt6::Core) 0028 0029 if(ENABLE_PCH) 0030 if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/pch.cpp) 0031 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/pch.cpp "/*empty file*/") 0032 endif() 0033 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/pch_tmp.h 0034 "#pragma once\n" 0035 "#include <QObject>\n" 0036 "#include <QTest>\n" 0037 "#include <QString>\n" 0038 "#include <QDateTime>\n" 0039 ) 0040 # avoid rebuilding if there was no change 0041 execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_BINARY_DIR}/pch_tmp.h" "${CMAKE_CURRENT_BINARY_DIR}/pch.h") 0042 0043 add_library(tests_pch STATIC ${CMAKE_CURRENT_BINARY_DIR}/pch.cpp) 0044 target_link_libraries(tests_pch Qt6::Core Qt6::Test) 0045 target_precompile_headers(tests_pch PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/pch.h) 0046 endif() 0047 0048 0049 configure_file(config-tests.h.in config-tests.h) 0050 0051 add_subdirectory(plugin) 0052 0053 macro(add_unit_test testname) 0054 ecm_add_test(${testname}.cpp ${ARGN} 0055 TEST_NAME ${testname} 0056 LINK_LIBRARIES Qt6::Test KF6::CoreAddons autotests_static) 0057 if(ENABLE_PCH) 0058 target_precompile_headers(${testname} REUSE_FROM tests_pch) 0059 endif() 0060 endmacro() 0061 0062 add_unit_test(kaboutdatatest) 0063 add_unit_test(kaboutdataapplicationdatatest) 0064 add_unit_test(kautosavefiletest) 0065 add_unit_test(kcompositejobtest) 0066 add_unit_test(kformattest) 0067 add_unit_test(kjobtest) 0068 add_unit_test(kosreleasetest) 0069 add_unit_test(kprocesstest) 0070 add_unit_test(krandomtest) 0071 add_unit_test(kshareddatacachetest) 0072 add_unit_test(kshelltest) 0073 add_unit_test(kurlmimedatatest) 0074 add_unit_test(kstringhandlertest) 0075 add_unit_test(kmacroexpandertest) 0076 add_unit_test(kusertest) 0077 add_unit_test(kprocesslisttest) 0078 add_unit_test(kfileutilstest) 0079 add_unit_test(kfuzzymatchertest) 0080 add_unit_test(knetworkmountstestcanonical) 0081 add_unit_test(knetworkmountstestnoconfig) 0082 add_unit_test(knetworkmountstestpaths) 0083 add_unit_test(knetworkmountsteststatic) 0084 add_unit_test(klibexectest) 0085 add_unit_test(kmemoryinfotest) 0086 add_unit_test(kruntimeplatformtest) 0087 if (WIN32) 0088 add_unit_test(klistopenfilesjobtest_win) 0089 endif () 0090 if (UNIX) 0091 add_unit_test(klistopenfilesjobtest_unix) 0092 endif () 0093 0094 if(TARGET klistopenfilesjobtest_unix AND CMAKE_SYSTEM_NAME MATCHES "FreeBSD") 0095 find_package(Qt6Network ${REQUIRED_QT_VERSION} CONFIG QUIET) 0096 target_link_libraries(klistopenfilesjobtest_unix Qt6::Network) 0097 endif() 0098 0099 add_library(ktexttohtmlteststatic STATIC ${CMAKE_SOURCE_DIR}/src/lib/text/ktexttohtml.cpp ${CMAKE_SOURCE_DIR}/src/lib/text/kemoticonsparser.cpp) 0100 # include the binary dir in order to get kcoreaddons_export.h 0101 target_include_directories(ktexttohtmlteststatic PUBLIC ${KCoreAddons_BINARY_DIR}/src/lib) 0102 # fake static linking to prevent the export macros on Windows from kicking in 0103 target_compile_definitions(ktexttohtmlteststatic PUBLIC -DKCOREADDONS_STATIC_DEFINE=1) 0104 target_link_libraries(ktexttohtmlteststatic PUBLIC Qt6::Test autotests_static) 0105 ecm_add_test(ktexttohtmltest.cpp 0106 TEST_NAME ktexttohtmltest 0107 LINK_LIBRARIES ktexttohtmlteststatic 0108 ) 0109 0110 add_executable(ktexttohtmlbenchmarktest ktexttohtmlbenchmarktest.cpp ${CMAKE_SOURCE_DIR}/src/lib/text/ktexttohtml.cpp ${CMAKE_SOURCE_DIR}/src/lib/text/kemoticonsparser.cpp) 0111 target_link_libraries(ktexttohtmlbenchmarktest PUBLIC ktexttohtmlteststatic) 0112 0113 add_executable(kprocesstest_helper kprocesstest_helper.cpp) 0114 target_link_libraries(kprocesstest_helper KF6::CoreAddons) 0115 0116 set(KDIRWATCH_BACKENDS_TO_TEST Stat) #Stat is always compiled 0117 0118 if (HAVE_SYS_INOTIFY_H) 0119 list(APPEND KDIRWATCH_BACKENDS_TO_TEST INotify) 0120 endif() 0121 0122 if (HAVE_QFILESYSTEMWATCHER) 0123 list(APPEND KDIRWATCH_BACKENDS_TO_TEST QFSWatch) 0124 endif() 0125 0126 foreach(_backendName ${KDIRWATCH_BACKENDS_TO_TEST}) 0127 string(TOLOWER ${_backendName} _lowercaseBackendName) 0128 set(BACKEND_TEST_TARGET kdirwatch_${_lowercaseBackendName}_unittest) 0129 set(BACKEND_BENCHMARK_TARGET kdirwatch_${_lowercaseBackendName}_benchmarktest) 0130 add_executable(${BACKEND_TEST_TARGET} kdirwatch_unittest.cpp) 0131 target_link_libraries(${BACKEND_TEST_TARGET} Qt6::Test KF6::CoreAddons autotests_static) 0132 0133 if(NOT WIN32) 0134 target_link_libraries(${BACKEND_TEST_TARGET} Threads::Threads) 0135 endif() 0136 0137 ecm_mark_as_test(${BACKEND_TEST_TARGET}) 0138 add_test(NAME ${BACKEND_TEST_TARGET} COMMAND ${BACKEND_TEST_TARGET}) 0139 target_compile_definitions(${BACKEND_TEST_TARGET} PUBLIC -DKDIRWATCH_TEST_METHOD=\"${_backendName}\") 0140 0141 add_executable(${BACKEND_BENCHMARK_TARGET} kdirwatch_benchmarktest.cpp) 0142 target_compile_definitions(${BACKEND_BENCHMARK_TARGET} PUBLIC -DKDIRWATCH_TEST_METHOD=\"${_backendName}\") 0143 target_link_libraries(${BACKEND_BENCHMARK_TARGET} Qt6::Test KF6::CoreAddons autotests_static) 0144 if(NOT WIN32) 0145 target_link_libraries(${BACKEND_BENCHMARK_TARGET} Threads::Threads) 0146 endif() 0147 0148 if(ENABLE_PCH AND NOT WIN32) 0149 target_precompile_headers(${BACKEND_TEST_TARGET} REUSE_FROM tests_pch) 0150 target_precompile_headers(${BACKEND_BENCHMARK_TARGET} REUSE_FROM tests_pch) 0151 endif() 0152 0153 endforeach()