summaryrefslogtreecommitdiffstats
path: root/qmake/property.cpp
Commit message (Collapse)AuthorAgeFilesLines
* move generation of qconfig.cpp (and qt.conf) to qmake-based configureOswald Buddenhagen2016-12-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | this moves us another step towards the "outer" configure doing just minimal bootstrapping of qmake. a challenge here was that so far, qmake itself needed qconfig.cpp. this was replaced by usage of a qt.conf file instead of compiled-in values. however, to make the executable still self-contained, that qt.conf is embedded into it (by simple appending of a fixed signature and the text file). the qmake with the embedded qt.conf is not used for the qt build itself, which instead relies on the qt.conf in bin/ as before. however, due to the missing built-in values, this file now needs to contain more information than before. but except for a minimal version that is needed to start up qmake/configure at all, that file is now also generated with qmake. as some of the newly set up properties are subsequently used by configure itself, qmake gains a (deliberately undocumented) function to reload the qt.conf after it's fully populated. unlike the old implementations, this one doesn't emit redundant qt.conf entries which match the hard-coded fallbacks. omitting them leads to leaner files which are more comprehensible. Started-by: Paolo Angelelli <paolo.angelelli@qt.io> Change-Id: I4526ef64b3c89d9851e10f83965fe479ed7f39f6 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-151-25/+28
|\ | | | | | | | | | | | | | | | | Conflicts: configure src/plugins/platforms/eglfs/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp Change-Id: Id2da7c775439adb62646d5b741ee7c638042b34b
| * don't create bogus property variantsOswald Buddenhagen2016-11-141-25/+28
| | | | | | | | | | | | | | sysroot, spec, and xspec have no /src and /get variants. Change-Id: I8548791f8ea6ba9fd9f10c35f914ed6badbea9d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qmake: eradicate Q_FOREACH loops [needing qAsConst()]Marc Mutz2016-01-281-1/+1
| | | | | | | | | | | | | | | | | | ... by replacing them with C++11 range-for loops. To avoid detaches of these mutable Qt containers, wrap the container in qAsConst(). Change-Id: If086bea06fe26232a7bb99fad8b09fce4dc74c27 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | qmake: eradicate Q_FOREACH loops [rvalues]Marc Mutz2016-01-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 range-for loops. This is the simplest of the patch series: Q_FOREACH took a copy, so we do, too. Except we don't, since we're just catching the return value that comes out of the function (RVO). We can't feed the rvalues into range-for, because they are non-const and would thus detach. Change-Id: I5834620bf82f3442da7b2838363d351a0fb960a0 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-211-17/+12
|/ | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* introduce /dev variants of qmake propertiesOswald Buddenhagen2015-02-051-0/+4
| | | | | | | | | these reflect the on-target paths (unlike /raw, which are host paths, just without the -sysroot). this is necessary for anything deployment-related, starting with RPATH. Change-Id: I13d598995d0e4d6cb0dc1fc7938b8631cf3e3a95 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* avoid direct use of QLibraryInfo as much as possibleOswald Buddenhagen2015-02-021-0/+1
| | | | | Change-Id: Ic1f5f5167181b15bc67bf4c6a1001532d0058b45 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* fix signedness warningsOswald Buddenhagen2013-11-041-2/+2
| | | | | Change-Id: I86952c06176dd334a3f029c34b74260ea43434cb Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* introduce /src qmake property variantsOswald Buddenhagen2013-06-121-0/+4
| | | | | | | | this is for shadow builds during build time, where the respective files are expected in the source dir. Change-Id: I18dcfbdef99e1562a51dacac333642cae8105ebd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* install host libraries into -hostprefixOswald Buddenhagen2013-05-131-0/+1
| | | | | | | | | | | | | | ... and introduce -hostlibdir configure option for symmetry. the libraries built for the host have no business in the target prefix. in principle this code would even support dynamically linked host libraries, but that's currently unused. Task-number: QTBUG-30591 Change-Id: I8e600fa4911a020fb0e87fbf7ef2f35647c7c4d5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Ivan Romanov <drizt@land.ru>
* remove versioned config backwards compatibility hackOswald Buddenhagen2013-02-011-13/+3
| | | | | | | the vendor string was changed, so compat is broken anyway. Change-Id: I07241843237ce28bd7a869bb4170c7e4c8d084df Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Stop using the name "Trolltech" in QSettingsSergio Ahumada2012-12-031-1/+1
| | | | | | | | | Also change Trolltech for QtProject in other places Task-number: QTBUG-23269 Change-Id: Ie4e344f23cab77c575562d18b481b3369ce30491 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add a -libexecdir option to the configuresThiago Macieira2012-11-281-0/+1
| | | | | | | | | | | | | | | | | | User applications are those that users run directly, whether it be for development or not. The executable binaries that the user does not usually run but is still required for proper functioning are called "program executables" in Autoconf and they are placed in libexec. This commit adds support for "program executables" in Qt by adding the -libexecdir option to the configures, the qmake variable QT_INSTALL_LIBEXECS (note the plural, to match all other properties), and QLibraryInfo::LibraryExecutables. At the time of this commit, the only expected "program executable" is the QtWebProcess, the WebKit2 helper process from QtWebKit. Change-Id: I66c3a3e0cf7f9d93b5f88f55f18e957faff608fc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add a new location for QML 2.x importsThiago Macieira2012-11-191-0/+1
| | | | | | | | | | | | | | | | | | | This commits adds a -qmldir configuration option for the configures to allow the user to change the default location (it defaults to $archdatadir/qml). It adds a QLibraryInfo::Qml2ImportsPath value for QLibraryInfo::location, a qmake property of QT_INSTALL_QML and a qt.conf configure location entry "Qml2Imports". At the same time, it makes the qmake .prf files dealing with QML plugins be the QML 2 version. Those files are new in Qt 5, so we have the option to choose which version we want to use. Discussed-on: http://lists.qt-project.org/pipermail/development/2012-October/007136.html Change-Id: I8c1c53e8685a5934ed0a9a42ba5663297b81a677 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add -archdatadir and change some of the default install dirs in Qt 5.Thiago Macieira2012-11-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Architecture-depedent Qt data defaults now to something under -archdatadir. Architecture-dependent data is everything that contains machine code (e.g., plugins) as well as anything that hardcodes build-specific data, like qconfig.pri and qmodule.pri. That is: QML imports: $archdatadir/imports (includes plugins) Qt plugins: $archdatadir/plugins (machine code) Mkspecs: $archdatadir/mkspecs (build-specific) Architecture-independent Qt data defaults now to something under -datadir. This option existed in Qt 4, but did not differentiate between arch-dependent and independent. Following Autoconf's lead, --datadir is the *independent* data root. translations: $datadir/translations (.qm files are arch-independent) docs: $datadir/doc By default, both new options are equal to the Qt install prefix. (Strictly speaking, for complete Autoconf compatibility, we'd need a --datarootdir=$prefix/share, --datadir=$datarootdir/qt5 and --docdir=$datarootdir/doc/qt5, but that's just nitpicking and unnecessary) Change-Id: I39c886a6a2d2d2c0b11923c50974179e21f2af76 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* rewrite default spec handlingOswald Buddenhagen2012-11-011-0/+2
| | | | | | | | | | instead of symlinking (on unix) or creating a forwarding spec (on windows), just put the default specs into (the bootstrapped) QLibraryInfo. Change-Id: I595500ef7399f77cb8ec117c4303bc0a2ffe505f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* replace qmake_version() with a simple string literalOswald Buddenhagen2012-09-131-1/+1
| | | | | | Change-Id: I12e715aab23e01267e8a1434a3a965276c1a6182 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* introduce qmake variable abstractionsOswald Buddenhagen2012-09-071-14/+16
| | | | | | | | this is preparation for adapting to a new evaluator. Change-Id: I6fc59f5525735754a00afa6629fbfe257e84db97 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* pre-initialize more invariant propertiesOswald Buddenhagen2012-09-051-6/+4
| | | | | Change-Id: I0add2e7ead5a3d63124ef7ff85362895dd64bd23 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove QMAKE_MKSPECS property from qmake -query's viewOswald Buddenhagen2012-09-051-5/+0
| | | | | | | | | | it's a dynamic property which is something between meaningless and misleading when used outside a project file. also, experience from creator shows that people would consistently abuse it (not handling it as the list it is). Change-Id: Id52cd40da5c38c0c74535d0701fdae53dfa39cad Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove support for versioning qmake propertiesOswald Buddenhagen2012-06-271-58/+16
| | | | | | | | | the rationale is mostly the same as in 568e714fdf, plus the additional point that the qmake version didn't change for a decade. fallback paths for version 2.01a properties are provided. Change-Id: I3d3f16595eca9eca71c78fda9dbaf53da9f874a9 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* introduce /get property variantsOswald Buddenhagen2012-06-191-1/+5
| | | | | | | | | | | | | | | properties are now split into a write location $$[FOO] and a read location $$[FOO/get]. the write locations are hard-coded and configurable via qt.conf/Paths as before, while the read locations are configured via qt.conf/EffectivePaths. this finally provides a clean solution to the problem that during the qt build itself tools and libraries need to be taken from somewhere else than they are installed to. Change-Id: I956c43bd082afd465e690fe75d0bee3c2c0f7c25 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Revert "move finding the makespec to Option"Oswald Buddenhagen2012-06-191-1/+3
| | | | | | | | | | | | | | Needed for an upcoming revert. This reverts commit 74a6669fa7c0d6e2cb7d34d56332d620d2a07755. Conflicts: qmake/option.cpp qmake/project.cpp qmake/property.cpp Change-Id: I56088506d27bf1f095f9261c75224f4bee17ec60 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* QT_RAW_INSTALL_FOO => QT_INSTALL_FOO/rawOswald Buddenhagen2012-03-121-18/+16
| | | | | | | | | | | | this makes the "sysrootable" properties more magic, with the raw versions being omitted from the qmake -query output and automatically falling back to the "cooked" variant if there is no sysroot set. this makes the "normal" qmake -query less noisy. this will become even more obvious when i add more "overloads" of the properties. Change-Id: I08000986427264ec6238c8fe0a77f5cecdbf1201 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-03-041-39/+45
|\ | | | | | | | | | | | | | | | | | | Conflicts: dist/changes-5.0.0 mkspecs/features/qt_module_config.prf qmake/project.cpp qmake/property.cpp Change-Id: I6e4af40743a9aeff8ed18533a48036e332acc296
| * revamp -sysroot and -hostprefix handlingOswald Buddenhagen2012-03-011-15/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of being a variable added to the makespec (via qconfig.pri), QT_SYSROOT is now a property. the QT_INSTALL_... properties are now automatically prefixed with the sysroot; the raw values are available as QT_RAW_INSTALL_... - this is expected to cause the least migration effort for existing projects. -hostprefix and the new -hostbindir & -hostdatadir now feed the new QT_HOST_... properties. adapted the qmake feature files and the qtbase build system accordingly. Change-Id: Iaa9b65bc10d9fe9c4988d620c70a8ce72177f8d4 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
| * optimize QMakePropertyOswald Buddenhagen2012-03-011-39/+27
| | | | | | | | | | | | | | | | | | make it table-driven and have it cache the immutable values from QLibraryInfo. Change-Id: I07ed89152aa964bc9edf4436ee7c42f99cc6bcd3 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* | move finding the makespec to OptionOswald Buddenhagen2012-03-021-3/+1
|/ | | | | | | | | this is a one-time operation which depends only on the invocation, so this new home is much more appropriate. Change-Id: I07c66d95a9ae01a664cec17564995311fb78ec9b Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QMap => QHashOswald Buddenhagen2012-01-101-1/+0
| | | | | | | | | | | | this should make the evaluator quite a lot faster. the total win for qtbase/src is only 6%, though. i made some effort to avoid that output files get randomized. however, i didn't bother to keep debug output sorted. Change-Id: Id9cef4674c0153c11ebbb65cb63bf8c229eb56e3 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Added build system support for installing tests.Rohan McGovern2011-11-231-0/+3
| | | | | | | | | | | | | Tests will install under $$[QT_INSTALL_TESTS]. TESTDATA may be used to install additional testdata required by the test. The default install rule may be disabled by CONFIG+=no_testcase_installs. Change-Id: I204de60c8e844775906ffd016ca50bffbb414142 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove references to QT_INSTALL_DEMOS & DemosPath.Casper van Donderen2011-07-061-1/+1
| | | | | | | | | | | | | | | | The distinction between 'examples' and 'demos' is completely blurred at this point. We've decided, with the SDK people, to scrap the existing terminology in favor of the word 'example' only -- distinguishing between code snippets, walkthroughs, "demonstrations" can be done via keywords or some other method. Removing QT_INSTALL_DEMOS from all .pro files in Qt is still in progress. Change-Id: I86fc0e40d54baa54c5641fc6acbd8b67e4ad2789 Reviewed-on: http://codereview.qt.nokia.com/1034 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Update licenseheader text in source files for qtbase Qt moduleJyri Tahtela2011-05-241-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+251
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12