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/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt | |
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/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt')
-rw-r--r-- | cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt b/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt index a84c567b5a..564ed610c8 100644 --- a/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt +++ b/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt @@ -3,19 +3,7 @@ project(qt_single_test VERSION 6.0.0 LANGUAGES C CXX ASM) find_package(Qt6 REQUIRED COMPONENTS BuildInternals) -# Includes QtSetup and friends for private CMake API. -qt_build_internals_set_up_private_api() - -# Find all StandaloneTestsConfig.cmake files, and include them -# This will find all Qt packages that are required for standalone tests. -# It will find more packages that needed for a certain test, but will ensure any test can -# be built. -qt_get_standalone_tests_confg_files_path(standalone_tests_config_path) - -file(GLOB config_files "${standalone_tests_config_path}/*") -foreach(file ${config_files}) - include("${file}") -endforeach() +include(${CMAKE_CURRENT_LIST_DIR}/Main.cmake) # Get the absolute path of the passed-in project dir, relative to the current working directory # of the calling script, rather than relative to this source directory. @@ -27,10 +15,5 @@ else() set(absolute_project_path "${QT_STANDALONE_TEST_PATH}") endif() -# Just before adding the test, change the local (non-cache) install prefix to something other than -# the Qt install prefix, so that tests don't try to install and pollute the Qt install prefix. -# Needs to be called after qt_get_standalone_tests_confg_files_path(). -qt_set_up_fake_standalone_tests_install_prefix() - # Add the test project path as a subdirectory project. add_subdirectory("${absolute_project_path}" "build_dir") |