summaryrefslogtreecommitdiffstats
path: root/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt')
-rw-r--r--cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt30
1 files changed, 30 insertions, 0 deletions
diff --git a/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt b/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt
new file mode 100644
index 0000000000..a486d1a722
--- /dev/null
+++ b/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt
@@ -0,0 +1,30 @@
+cmake_minimum_required(VERSION 3.16)
+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()
+
+# 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.
+# The calling script sets PWD. If not set, just use the passed-in value as-is.
+if(DEFINED PWD)
+ get_filename_component(absolute_project_path "${QT_STANDALONE_TEST_PATH}" ABSOLUTE
+ BASE_DIR "${PWD}")
+else()
+ set(absolute_project_path "${QT_STANDALONE_TEST_PATH}")
+endif()
+
+# Add the test project path as a subdirectory project.
+add_subdirectory("${absolute_project_path}" "build_dir")