Allow specifying CMakeLists.txt as the argument for qt-cmake-standalone-test

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.

Pick-to: 6.5 6.4 6.2
Change-Id: I6b9ac0ca8323eaf11f219eb1e6bed3057120a231
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Alexey Edelev 2023-01-04 17:48:11 +01:00
parent f10ae4b887
commit 90806123e9

View File

@ -18,5 +18,14 @@ else()
set(absolute_project_path "${QT_STANDALONE_TEST_PATH}") set(absolute_project_path "${QT_STANDALONE_TEST_PATH}")
endif() 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 the test project path as a subdirectory project.
add_subdirectory("${absolute_project_path}" "build_dir") add_subdirectory("${absolute_project_path}" "build_dir")