diff options
author | Cristian Adam <cristian.adam@qt.io> | 2021-04-21 19:48:37 +0200 |
---|---|---|
committer | Cristian Adam <cristian.adam@qt.io> | 2021-04-23 13:31:04 +0200 |
commit | 0a1256a52d8c6c1b85a10f7dc94dfc34e3540040 (patch) | |
tree | 8153052019fd7d728a174b0c98e60639c504ef4b /cmake/QtTestHelpers.cmake | |
parent | 66acee69a1563488e5950645c171d6be73dd5f70 (diff) |
CMake: Allow usage of QtStandaloneTestTemplateProject as package component
Currently in order to compile a Qt6 test standalone one needs to use
the qt-cmake-standalone-test script which will load the
Qt6BuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt project
with the current test source directory to create a complete CMake project.
This commit will allow a test to have these lines at top:
cmake_minimum_required(VERSION 3.16)
if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT)
project(a_qt_test LANGUAGES C CXX ASM)
find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST)
endif()
and be standalone and work with any IDE capable of loading CMake projects.
Fixes: QTCREATORBUG-25389
Pick-to: 6.1
Change-Id: If3f878b7e560a8bfbb604a8f1aa30b7962742e66
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtTestHelpers.cmake')
-rw-r--r-- | cmake/QtTestHelpers.cmake | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/cmake/QtTestHelpers.cmake b/cmake/QtTestHelpers.cmake index cad4d6ecf9..c2a9d71780 100644 --- a/cmake/QtTestHelpers.cmake +++ b/cmake/QtTestHelpers.cmake @@ -378,18 +378,20 @@ function(qt_internal_add_test name) "${CMAKE_CURRENT_SOURCE_DIR}") qt_path_join(testdata_install_dir ${QT_INSTALL_DIR} "${relative_path_to_test_project}") - foreach(testdata IN LISTS arg_TESTDATA) - set(testdata "${CMAKE_CURRENT_SOURCE_DIR}/${testdata}") - if (IS_DIRECTORY "${testdata}") - qt_install( - DIRECTORY "${testdata}" - DESTINATION "${testdata_install_dir}") - else() - qt_install( - FILES "${testdata}" - DESTINATION "${testdata_install_dir}") - endif() - endforeach() + if (testdata_install_dir) + foreach(testdata IN LISTS arg_TESTDATA) + set(testdata "${CMAKE_CURRENT_SOURCE_DIR}/${testdata}") + if (IS_DIRECTORY "${testdata}") + qt_install( + DIRECTORY "${testdata}" + DESTINATION "${testdata_install_dir}") + else() + qt_install( + FILES "${testdata}" + DESTINATION "${testdata_install_dir}") + endif() + endforeach() + endif() endif() endfunction() |