From 1f323d21675bcd04af34c21f734f3541f912ebd6 Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Wed, 4 Jan 2023 17:48:11 +0100 Subject: [PATCH] Allow specifying CMakeLists.txt as the argument for qt-cmake-standalone-test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit qt-cmake-standalone-test uses add_subdirectory call when evaluating the project. This leads to an error if users try to use path to CMakeLists.txt as an argument, instead of directory when configuring standalone tests with qt-cmake-standalone-test. It makes sense to check if the user-specified path points to CMakeLists.txt and cut the filename part when calling add_subdirectory. Change-Id: I6b9ac0ca8323eaf11f219eb1e6bed3057120a231 Reviewed-by: Amir Masoud Abdol Reviewed-by: Jörg Bornemann (cherry picked from commit 90806123e961d469c36ee3b19ac0960524abb9e2) Reviewed-by: Qt Cherry-pick Bot --- .../QtStandaloneTestTemplateProject/CMakeLists.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt b/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt index 368567c708a..4fd442e82cd 100644 --- a/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt +++ b/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt @@ -15,5 +15,14 @@ else() set(absolute_project_path "${QT_STANDALONE_TEST_PATH}") endif() +if(NOT IS_DIRECTORY "${absolute_project_path}") + get_filename_component(filename "${absolute_project_path}" NAME) + get_filename_component(directory "${absolute_project_path}" DIRECTORY) + + if(filename STREQUAL "CMakeLists.txt") + set(absolute_project_path "${directory}") + endif() +endif() + # Add the test project path as a subdirectory project. add_subdirectory("${absolute_project_path}" "build_dir")