summaryrefslogtreecommitdiffstats
path: root/src/testlib/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib/CMakeLists.txt')
-rw-r--r--src/testlib/CMakeLists.txt114
1 files changed, 73 insertions, 41 deletions
diff --git a/src/testlib/CMakeLists.txt b/src/testlib/CMakeLists.txt
index 226bf079b8..014ee2c6ab 100644
--- a/src/testlib/CMakeLists.txt
+++ b/src/testlib/CMakeLists.txt
@@ -1,17 +1,18 @@
-# Generated from testlib.pro.
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
-# special case begin
include(selfcover.cmake)
-# special case end
#####################################################################
## Test Module:
#####################################################################
-qt_add_module(Test
- CONFIG_MODULE_NAME testlib # special case
+qt_internal_add_module(Test
+ CONFIG_MODULE_NAME testlib
+ QMAKE_MODULE_CONFIG console testlib_defines
EXCEPTIONS
SOURCES
+ 3rdparty/cycle_p.h
qabstracttestlogger.cpp qabstracttestlogger_p.h
qasciikey.cpp
qbenchmark.cpp qbenchmark.h qbenchmark_p.h
@@ -20,9 +21,12 @@ qt_add_module(Test
qbenchmarkmetric.cpp qbenchmarkmetric.h qbenchmarkmetric_p.h
qbenchmarkperfevents.cpp qbenchmarkperfevents_p.h
qbenchmarktimemeasurers_p.h
+ qcomparisontesthelper.cpp qcomparisontesthelper_p.h
qcsvbenchmarklogger.cpp qcsvbenchmarklogger_p.h
+ qemulationdetector_p.h
qjunittestlogger.cpp qjunittestlogger_p.h
qplaintestlogger.cpp qplaintestlogger_p.h
+ qpropertytesthelper_p.h
qsignaldumper.cpp qsignaldumper_p.h
qsignalspy.h
qtaptestlogger.cpp qtaptestlogger_p.h
@@ -34,9 +38,8 @@ qt_add_module(Test
qtestaccessible.h
qtestassert.h
qtestblacklist.cpp qtestblacklist_p.h
- qtestcase.cpp qtestcase.h
+ qtestcase.cpp qtestcase.h qtestcase_p.h
qtestcoreelement_p.h
- qtestcorelist_p.h
qtestdata.cpp qtestdata.h
qtestelement.cpp qtestelement_p.h
qtestelementattribute.cpp qtestelementattribute_p.h
@@ -52,54 +55,64 @@ qt_add_module(Test
qtestsystem.h
qtesttable.cpp qtesttable_p.h
qtesttouch.h
+ qtestwheel.h
qttestglobal.h
qxmltestlogger.cpp qxmltestlogger_p.h
DEFINES
QT_NO_CAST_FROM_ASCII
QT_NO_CAST_TO_ASCII
+ QT_NO_CONTEXTLESS_CONNECT
QT_NO_DATASTREAM
QT_NO_FOREACH
- QT_BUILD_TESTLIB_LIB # special case
+ # Ensure uniform location info between release and debug builds
+ QT_NO_MESSAGELOGCONTEXT
LIBRARIES
Qt::CorePrivate
PUBLIC_LIBRARIES
Qt::Core
PRIVATE_MODULE_INTERFACE
Qt::CorePrivate
+ GENERATE_CPP_EXPORTS
)
-#### Keys ignored in scope 1:.:.:testlib.pro:<TRUE>:
-# MODULE_CONFIG = "console" "testlib_defines"
+if(TARGET Gui)
+ set_property(TARGET Test
+ APPEND PROPERTY _qt_internal_sync_headers_deps Gui_sync_headers)
+endif()
## Scopes:
#####################################################################
-#### Keys ignored in scope 2:.:.:testlib.pro:UNIX AND NOT embedded:
-# QMAKE_PKGCONFIG_DESCRIPTION = "Qt" "Unit" "Testing" "Library"
-
-qt_extend_target(Test CONDITION QT_FEATURE_itemmodeltester
+qt_internal_extend_target(Test CONDITION QT_FEATURE_itemmodeltester
SOURCES
qabstractitemmodeltester.cpp qabstractitemmodeltester.h
)
-qt_extend_target(Test CONDITION QT_FEATURE_valgrind
+qt_internal_extend_target(Test CONDITION QT_FEATURE_batch_test_support
SOURCES
+ qtestregistry.cpp qtestregistry_p.h
+)
+
+qt_internal_extend_target(Test CONDITION QT_FEATURE_valgrind
+ SOURCES
+ 3rdparty/callgrind_p.h
+ 3rdparty/valgrind_p.h
qbenchmarkvalgrind.cpp qbenchmarkvalgrind_p.h
)
-qt_extend_target(Test CONDITION embedded
+qt_internal_extend_target(Test CONDITION embedded
COMPILE_OPTIONS
-fno-rtti
)
-qt_extend_target(Test CONDITION APPLE
+qt_internal_extend_target(Test CONDITION APPLE
SOURCES
qappletestlogger.cpp qappletestlogger_p.h
PUBLIC_LIBRARIES
${FWSecurity}
)
-qt_extend_target(Test CONDITION MACOS
+qt_internal_extend_target(Test CONDITION MACOS
SOURCES
qtestutil_macos.mm qtestutil_macos_p.h
PUBLIC_LIBRARIES
@@ -109,30 +122,49 @@ qt_extend_target(Test CONDITION MACOS
${FWIOKit}
)
-# special case begin
-# Do not bother with disabled stuff:
-# extend_target(Test CONDITION (MACOS) AND (OFF AND NOT lessThan(QMAKE_XCODE_VERSION, "6.0")) ...
-# extend_target(Test CONDITION ((MACOS) AND (OFF AND NOT lessThan(QMAKE_XCODE_VERSION, "6.0"))) AND (NOT QMAKE_MAC_SDK_PLATFORM_PATH_ISEMPTY) ...
-# special case end
-
-#### Keys ignored in scope 9:.:.:testlib.pro:NOT QMAKE_MAC_SDK_PLATFORM_PATH_ISEMPTY:
-# MODULE_CONFIG = "xctest"
-
-#### Keys ignored in scope 10:.:.:testlib.pro:NOT TARGET Qt::Gui:
-# HEADERSCLEAN_EXCLUDE = "qtest_gui.h" "qtestaccessible.h" "qtestkeyboard.h" "qtestmouse.h" "qtesttouch.h"
-
-#### Keys ignored in scope 11:.:.:testlib.pro:NOT TARGET Qt::Widgets:
-# HEADERSCLEAN_EXCLUDE = "qtest_widgets.h"
+set(qt_tc_build_dir "$<TARGET_PROPERTY:QT_TESTCASE_BUILDDIR>")
+set(qt_bool_tc_build_dir "$<BOOL:${qt_tc_build_dir}>")
+set(qt_tc_build_dir_def
+ "$<IF:${qt_bool_tc_build_dir},${qt_tc_build_dir},$<TARGET_PROPERTY:BINARY_DIR>>"
+)
+set_property(TARGET Test APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS
+ QT_TESTCASE_BUILDDIR="${qt_tc_build_dir_def}"
+ QT_TESTCASE_SOURCEDIR="$<TARGET_PROPERTY:SOURCE_DIR>"
+)
-#### Keys ignored in scope 12:.:.:testlib.pro:NOT TARGET Qt::Network:
-# HEADERSCLEAN_EXCLUDE = "qtest_network.h"
-qt_add_docs(Test
+qt_internal_add_docs(Test
doc/qttestlib.qdocconf
)
-# special case begin
-qt_apply_testlib_coverage_options(Test)
-
-# Allow blacklisting tests depending on whether testlib was built as part of a CMake build.
-target_compile_definitions(Test PRIVATE QT_CMAKE_BUILD)
-# special case end
+qt_internal_apply_testlib_coverage_options(Test)
+
+# include the snippet projects for developer-builds
+if(QT_FEATURE_private_tests)
+ add_subdirectory(doc/snippets/code)
+endif()
+
+if(WASM)
+ # Keep in sync with is_test files in Qt6WasmMacros.cmake
+ set(testrunner_files
+ "${QtBase_SOURCE_DIR}/util/wasm/batchedtestrunner/batchedtestrunner.html"
+ "${QtBase_SOURCE_DIR}/util/wasm/batchedtestrunner/batchedtestrunner.js"
+ "${QtBase_SOURCE_DIR}/util/wasm/batchedtestrunner/emrunadapter.js"
+ "${QtBase_SOURCE_DIR}/util/wasm/batchedtestrunner/qwasmjsruntime.js"
+ "${QtBase_SOURCE_DIR}/util/wasm/batchedtestrunner/qwasmtestmain.js"
+ "${QtBase_SOURCE_DIR}/util/wasm/batchedtestrunner/util.js"
+ "${QtBase_SOURCE_DIR}/util/wasm/batchedtestrunner/qtestoutputreporter.js"
+ "${QtBase_SOURCE_DIR}/util/wasm/batchedtestrunner/qtestoutputreporter.css")
+
+ qt_path_join(install_dir_libexec "${QT_INSTALL_DIR}" "${INSTALL_LIBEXECDIR}")
+ qt_copy_or_install(FILES ${testrunner_files}
+ DESTINATION "${install_dir_libexec}")
+
+ # In a prefix build, the above copy_or_install won't put the files
+ # in the build dir, but they are required there for tests at configure time
+ if(QT_WILL_INSTALL)
+ qt_path_join(build_dir_libexec "${QT_BUILD_DIR}" "${INSTALL_LIBEXECDIR}")
+ foreach(testrunner_file ${testrunner_files})
+ file(COPY "${testrunner_file}" DESTINATION "${build_dir_libexec}")
+ endforeach()
+ endif()
+endif()