From fc439731145b35e23c3130ce0b29a34a07971ece 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 6a06747bdca..73ed57c1dac 100644 --- a/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt +++ b/cmake/QtBuildInternals/QtStandaloneTestTemplateProject/CMakeLists.txt @@ -18,5 +18,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")