summaryrefslogtreecommitdiffstats
path: root/cmake/QtWrapperScriptHelpers.cmake
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Automatically use Xcode generator in qt-cmake + iOSAlexandru Croitor2022-05-201-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling qt-cmake on the command line, we don't usually force usage of a particular CMake generator and defer to the user's choice or CMake's default for the host OS. In the case of iOS, the generator that makes the most sense to use is Xcode. One could also use Ninja / Unix Makefiles if the project is only building static libraries, but for shared libraries and executables the project likely needs the code signing provided by xcodebuild. When targeting iOS, use a different qt-cmake file template. The iOS-specific shell script will set the CMAKE_GENERATOR environment variable to 'Xcode'. If no -G or -D CMAKE_GENERATOR is provided on the command line then the project will use the Xcode generator. Otherwise the generator given on the command line takes precedence. The CMAKE_GENERATOR environment variable from the parent process is completely ignored. The logic is only done for iOS, to reduce the likeliness of breaking the qt-cmake script for other platforms. Note that Qt Creator does not use qt-cmake, but rather calls cmake directly with additional options like the toolchain file, architecture, sysroot, etc. [ChangeLog][iOS][CMake] qt-cmake now defaults to using the Xcode generator when targeting iOS projects. Pick-to: 6.2 6.3 Fixes: QTBUG-100834 Change-Id: I39b3dce47cc9ee2f98678631e4bd035c59c65294 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix line endings of wrapper scriptsJoerg Bornemann2022-05-171-10/+20
| | | | | | | | | | | | | | | If QT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS is ON then we generate Windows scripts on Unix and vice versa. We always used the host platforms line endings for generating the scripts. This leads to Windows line endings in Unix scripts and vice versa. Explicitly specify the line endings style when generating wrapper scripts. Fixes: QTBUG-102747 Pick-to: 6.2 6.3 Change-Id: I1603add46f276a5d91bbf0f103a261cdd84c343b Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* CMake: Generate wrapper shell scripts for all hosts when requestedAlexandru Croitor2022-03-041-16/+46
| | | | | | | | | | | | | | | | | | | | | | | | This is useful for Qt for Android builds, where we want to build Qt on a single host, but make the Qt installation usable on any host (Windows, Linux, macOS). There are only two flavors of shell scripts, unix ones that use sh and Windows batch files. If Qt is configured with -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON then we generate both of them regardless of the current host platform. Note that the target_qt.conf file still needs to be patched to specify a correct HostSpec value so that qmake operates correctly. Other target_qt.conf values might also need path adjustments depending on use case (like HostPrefix and HostData). Pick-to: 6.2 6.3 Task-number: QTBUG-101357 Change-Id: Ic86caaa8b318467528cc82dc7fbfecde998cdb71 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Introduce qt-testrunner.pyDimitrios Apostolou2022-01-031-0/+1
| | | | | | | | Script that wraps Qt test execution in order to iron-out flakiness. Task-number: QTBUG-96353 Change-Id: Ie8ee780e3f4f8d086c080a7784f9f68fd1867be2 Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* CMake: Make qt-internal-configure-tests relocatableAlexandru Croitor2021-04-261-14/+18
| | | | | | | | | It's important for conan CI builds where the correct installation location of Qt should be used when configuring standalone tests. Task-number: QTBUG-93037 Change-Id: I2465a439aea6826dedfb3217d1c909ad639d4ac0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Move bin/qt-internal-configure-tests to libexecJoerg Bornemann2021-03-301-4/+4
| | | | | | | | Pick-to: 6.1 Task-number: QTBUG-88791 Change-Id: I78613128760b5820e6db17b0c09462e34f7c7bb2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Coin: remove workarounds to allow running Android testsAssam Boudjelthia2021-02-181-2/+0
| | | | | | | | | | | | | We had two workarounds: * script that adds Gui to tests * create a symbolic link for the qt install dir to fake_prefix which androiddelployqt was expecting them to be under Both issues are fixed, thus removing the workarounds. Pick-to: 6.1 6.0 Change-Id: Ic022bece15afe92c693d573893d260b13b4227ed Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* Android: install android test scripts to libexec to test on all modulesAssam Boudjelthia2020-12-111-0/+9
| | | | | | | | | | | The scripts that are used by Android test VMs are now located in qtbase and are not easily usable by other modules. To fix that and allow other modules to use those scripts, we install them with cmake into libexec. Task-number: QTQAINFRA-4052 Pick-to: 6.0 Change-Id: Ibdd3658fd9fe7e007104a85d9999028a2de99a33 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: strip the executable bit from qt-cmake-private-install.cmakeChristophe Giboudeaux2020-11-301-1/+1
| | | | | | | | | Despite being installed in the the binary directory, this CMake snippet cannot be executed. Pick-to: 6.0 Change-Id: Ibfd31e51184f0688d19ac063804cc200c95555a7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Restore QT_STAGING_PREFIX in qt-cmake-standalone-test generationAlexey Edelev2020-11-241-3/+12
| | | | | | | | | | | | Restore 'QT_STAGING_PREFIX' logic when generating 'qt-cmake-standalone-test'. Relative paths now calculating depend on 'QT_STAGING_PREFIX'. For prefix builds QT_STAGING_PREFIX should be prepend to '__qt_cmake_standalone_test_path' Fixes: QTBUG-88764 Pick-to: 6.0 Change-Id: I655c60847f2ab872948cfe9aedc27835e5cc4fb5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Make paths in qt-cmake-standalone-test relativeAlexey Edelev2020-11-171-14/+21
| | | | | | | | Make paths in qt-cmake-standalone-test relative to script's PWD. Fixes: QTBUG-88380 Change-Id: I6ab507c31ebed391f4e85bc6fe3f7f747dd97d54 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Prepare configure/qt-configure-module for calling more scriptsJoerg Bornemann2020-10-301-6/+5
| | | | | | | | | In a subsequent change we will call another CMake script from qt-configure-module.bat. Write the location of qtbase/cmake into the generated scripts instead of the path to QtProcessConfigureArgs.cmake. Change-Id: Ie333b16d310b215c6e49efa27740c7525453d28f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Provide a qt-internal-configure-tests scriptAlexandru Croitor2020-10-261-0/+32
| | | | | | | | | | | | | | | | | | This is meant to be called by our CI instructions to build standalone tests of a Qt repository. Currently it just calls qt-cmake with -DQT_BUILD_STANDALONE_TESTS=ON, but it might contain more things in the future. The script also simplifies configuring standalone tests locally, due to not having to remember the name of the magical variable. Change our CI instructions to use the new script. Change-Id: I6bc02b4e94adc9d0d05fecb0fe70a561043271f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Split QtBaseGlobalTargets.cmake into multiple filesAlexandru Croitor2020-10-121-0/+111
And wrap the various behaviors into separate functions. Change-Id: If940351af34e445de050f2b46301de7080b1555b Reviewed-by: Cristian Adam <cristian.adam@qt.io>