summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/configure.prf
Commit message (Collapse)AuthorAgeFilesLines
* make handling of built-in configure options data-drivenOswald Buddenhagen2016-12-131-0/+2
| | | | | Change-Id: I08b226b6c9255b60393734e8ffcb745ccb63c597 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* fix configure logging when no cache is present yetOswald Buddenhagen2016-11-151-0/+1
| | | | | | | | | | | | this got broken in 2ad4d75754. however, the new configure system operates from the top-level build dir anyway, so there is no point in messing with the cache as a reference point to start with - just use OUT_PWD. Task-number: QTBUG-57120 Change-Id: I69629bf497931574bff8452939170abb1776ab60 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Introduce QMAKE_CD to enable us to cd from one Windows drive to anotherHannah von Reth2016-11-141-1/+1
| | | | | | | | | | | | | On Windows cd does not change the drive. So when you are on drive C: and type "cd D:\data" it will change the directory on drive D: but not affect your current working directory. To also change your drive you have to provide the parameter /d on Windows, so "cd /d D:\data" will also change the drive. Task-number: QTBUG-57080 Change-Id: Ib629879534523982eec693cef725f20a535a1a74 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* don't clear config.log unless re-checkingOswald Buddenhagen2016-11-071-0/+2
| | | | | | | | | | | | | it is counterproductive to clear the log when cached test results are used, as that makes it hard to determine how they came to be. -recheck isn't as clear-cut as -recheck-all, as only part of the results is discarded, and we can't reasonably discard only part of the log. i opted for clearing the log entirely, as having both the old and new results in the log would be probably quite confusing. Change-Id: Ibb391f2ba2ea86d73c23365d46cc66ed8a2158d6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* move empty cache() call back to configure.prfOswald Buddenhagen2016-11-071-0/+4
| | | | | | | | the new configure system doesn't use this type of caching. also, it's invoked via qt_parts.prf, which actually has the same call. Change-Id: Ifa1e810e24330b59a1eb9f883eb0500642a212f3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Modularize the new configure system (infrastructure part)Lars Knoll2016-09-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change implements the required infrastructure to modularize the new configuration system. This requires a hierarchy of configuration files, both for handling multiple repositories and for individual modules inside the same repository. When configuring, they all need to get loaded first, as command line processing needs to know about all possible command line options. When the command line has been processed, the individual configuration files need to get processed one after the other and independently from each other. Configure is now automatically invoked when building the a project tree's "root" project; this works with both modular and top-level builds of Qt (the latter with an according change in the super repo). As an immediate consequence, the -skip option moves to the super repo with a different implementation, as configuration is now done after the repo list is determined. The option belongs there anyway. This commit also adds an optional testDir entry to the json file. Like this, we can still have all configure tests in qtbase/config.tests and the configuration file in, e.g., corelib can reference those. The files section can now be left out as long as a 'module' entry is present, specifying the module name. The names of the files to generate can then be deduced from that name. We still need to be able to specify names directly for the global configuration files. qtConfig() now also queries features which are module-specific. As it is sometimes necessary to query the configuration of modules which should not be actually linked (and cannot in the case of subdirs projects), the new variable QT_FOR_CONFIG which allows specifying configuration-only dependencies is introduced. Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: Id1b518a3aa34044748b87fb8fac14d79653f6b18 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* make use of silent error() emissionOswald Buddenhagen2016-08-081-1/+1
| | | | | | | | get rid of the entirely superfluous stock "Aborting." messages - the event triggering the exit has already reported the problem. Change-Id: Ib9dfb9e4212f60eceb2ea432cdf56c5a8afe9d65 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Let qmake do most of the work of configuring QtLars Knoll2016-06-221-27/+1
| | | | | | | | | | | | | | | | Command line arguments, configure tests and features are now defined in a json file and a configure.pri containing some custom functions. qmake uses the json file to determine command line arguments, tests and features to be executed at configuration time. A new qt_configure.prf contains all the infrastructure to parse the command line, run the configure tests, determine the set of available features and create a report about it. Change-Id: If30ac089dd3e9f8c67ebd642bde10cfa960893bb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-191-3/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp src/network/access/qnetworkaccessmanager.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.h src/widgets/widgets/qlineedit_p.cpp src/widgets/widgets/qlineedit_p.h src/winmain/winmain.pro tests/auto/corelib/io/qstorageinfo/tst_qstorageinfo.cpp tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h tests/auto/testlib/selftests/expected_cmptest.teamcity tests/auto/testlib/selftests/expected_cmptest.txt tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp tools/configure/configureapp.cpp Change-Id: Ib9997b0d0f91946e4081d36c0c6b696c5c983b2a
| * Fix running of configure tests when cross compiling on WindowsSimon Hausmann2016-05-171-3/+1
| | | | | | | | | | | | | | | | | | When compiling on Windows to for example Android, we may be using the unix generator, but the make command may be mingw32-make. Task-number: QTBUG-53038 Change-Id: If8d1e1bea733cf1b4ed837c423a34ecfb3cafd1f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | QMake: Add option to set qt.conf file.David Schulz2015-10-271-1/+3
|/ | | | | Change-Id: Ie5db11892ccf2d357773a4db6a0464bf27be9a26 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Oswald Buddenhagen2014-10-281-1/+4
|\ | | | | | | Change-Id: I224e44a9df314b9a99d33148b6cf400fcbc9de8e
| * pay attention to the MAKE env variableOswald Buddenhagen2014-10-281-1/+4
| | | | | | | | | | | | | | | | | | ... to avoid that inherited MAKEFLAGS turn out to be incompatible with the make we choose. Task-number: QTBUG-39527 Change-Id: I47d4cec58b0643cc5d97868e70b24f7f37e964bb Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Use the correct QMake spec when running config testsThomas McGuire2014-09-251-1/+1
|/ | | | | | Task-number: QTBUG-41508 Change-Id: I0f27aad625117f931216b0cee987ed9463b7d0e0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make console a no-op for WinRTMaurice Kalinowski2013-11-141-0/+6
| | | | | | | | | | | | | | | | | | Compared to other platforms there is no concept of a console application in WinRT. Hence all applications need to be UI applications and use winmain. Furthermore winmain takes care of launch arguments to be properly converted to arguments passed to user's main(). There is a chicken and egg problem with config.tests as compilation needs to have an existing entry point which is not available at configure time. Hence hardcode the entry point to main for configuring to WinRT. Those tests are pure compile tests, so the logic of the test does not change. Change-Id: I4d3186691a8440845c24b2529cc9646e86dfd8da Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* iOS: Wrap Xcode projects in Makefile for convenience and subdirs supportTor Arne Vestbø2013-08-131-3/+0
| | | | | | | | | | | | | | | | qmake expects the generator to be the same for each node in the tree of subdirs, including the leaf projects, which caused failures when qmake tried to recurse out to the leaf projects and run 'make', when the leaf project was an Xcode project. We now wrap the Xcode project in a meta-makefile that just calls out to xcodebuild to do the actual work. This allows us to get rid of the hacky generator detection, and use the macx-xcode mkspec instead of setting the generator, which is much cleaner. Change-Id: I2fed6a4dd6343b6a320eb459ecae824553bff459 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Fix build for modules that load(configure)Morten Johan Sørvig2013-02-271-0/+3
| | | | | | | | | | | | | configure.prf checks if MAKEFILE_GENERATOR is set to something it can work with. ios/default_pre.prf unsets MAKEFILE_GENERATOR. This breaks QtMultimedia at least. Add special case for iOS to configure.prf and set QMAKE_MAKE to "make". Change-Id: Ie8feaeefe4a932d735a0cd4c09e869ca1341aae5 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* fix QMAKE_MAKE for qtCompileTest for cross building modulesMark Brand2013-01-071-5/+9
| | | | | | | | | | | | | Cross bulding on unix for mingw exploits the fact that makefiles generated for mingw work with plain make. There is no mingw32-make, so this is the only option. Arguably, plain make could also be used in an MSYS environment, perhaps detected by MINGW_IN_SHELL, but there might be good reasons I don't know about not to do this. Change-Id: I694c74046a307c2887af1c30cca36f95e242adc1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix host vs. makefile directory separator messOswald Buddenhagen2012-07-281-2/+2
| | | | | | | | | | | | | | | | | the system path separator and shell are bound to the host system (system() will use cmd even on mingw with sh.exe in path). the makefiles otoh may depend on what the qmakespec defines. consequently, add $$system_path() and $$system_quote() (for use with system() & $$system()). $$native_path() is renamed to $$shell_path() and should be used with $$shell_quote() to produce command lines in makefiles. $$QMAKE_DIR_SEP needs to be applied to Option::dir_sep right after parsing the spec, so it is available to $$shell_{path,quote}(). Change-Id: If3db4849e7f96068cf03a32348a24f3a72d6292c Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* add qtCompileTest()Oswald Buddenhagen2012-06-191-0/+90
this fully replaces qtmodule-configtests. it is way shorter and it actually integrates reasonably with qmake. Change-Id: I819cc6807ad3661c419b54fa253894936dd88a64 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>