CMake: Fix building examples targeting iOS simulator with qmake

The makefile generated by qmake when building an iOS example tries to
execute the mkspecs/features/uikit/devices.py python script to find
a simulator ID.

When installing the mkspecs, we didn't preserve the source file
permissions which means that the executable bit was stripped.

This causes the makefile to call xcodebuild with an invalid simulator
id due to not being able to execute the python script.

Make sure to install the mkspecs directories preserving the source
file permissions.

Fixes: QTBUG-87639
Change-Id: Iaa33b740c93187155025891104e8a21c6e7c98c8
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
Alexandru Croitor 2020-10-15 16:39:44 +02:00
parent f772b8e48c
commit ff33883fea

View File

@ -120,7 +120,8 @@ if(NOT QT_BUILD_STANDALONE_TESTS)
foreach(entry IN LISTS mkspecs_subdirs)
if (IS_DIRECTORY ${entry})
qt_copy_or_install(DIRECTORY "${entry}"
DESTINATION ${mkspecs_install_dir})
DESTINATION ${mkspecs_install_dir}
USE_SOURCE_PERMISSIONS)
else()
qt_copy_or_install(FILES "${entry}"
DESTINATION ${mkspecs_install_dir})