summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* MSVC: don't use the variable name LINK in generated makefilesJoerg Bornemann2012-12-064-7/+7
| | | | | | | | | | | Rename LINK to LINKER. The MSVC linker uses the environment variable LINK to pass additional command line arguments. We must not hide this variable. Task-number: QTBUG-28332 Change-Id: Id78476d1cf4a73175b9f47292c67f38a43ae5ba4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* centralize MAKEFILE writeout betterOswald Buddenhagen2012-12-051-9/+4
| | | | | | | | | nmake depends on a variable being assigned before it is referenced, so just write it out to every Makefile as the very first thing. this is nicer than the previous hack anyway. Change-Id: I50f409919352f560f7ef6c848a2f7c51d1878148 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* introduce QMAKE_RPATHLINKDIR (and QMAKE_LFLAGS_RPATHLINK)Oswald Buddenhagen2012-12-031-0/+7
| | | | | | | | | complementary to QMAKE_RPATHDIR. this avoids that we need to sprinkle linux/gcc specific code all over the place. Task-number: QTBUG-27427 Change-Id: Iebafd1749d1a0d803704902473df8c743f074ddc Reviewed-by: Joerg Bornemann <joerg.bornemann@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>
* Remove duplicate libraries added via prl files in WindowsMiikka Heikkinen2012-11-301-0/+17
| | | | | | | | | | | The LIBS statement generated into Makefiles contained duplicate libraries when application was linking static libraries. Fixed by adapting the logic from unixmake.cpp's version of processPrlFiles() to remove duplicates. Change-Id: I12e152900233d0376b7d7ac6cd18a92850a6d640 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix bootstrapped buildOswald Buddenhagen2012-11-291-2/+2
| | | | | | Change-Id: I8c987e8eed555c9c976732e216553d8002ee2b87 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qttools/d9dc9d34ec092ddc536a907b4f5009fb8bf01da4)
* fix non-qmake build of the evaluatorOswald Buddenhagen2012-11-281-1/+1
| | | | | | Change-Id: Ibbd00b415318bda928b5e6f9831b214e2657e291 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qttools/769fa282ac8a4b98698dada6969452363e0eb415)
* 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>
* assign MAKEFILE even in non-subdirs MakefilesOswald Buddenhagen2012-11-271-0/+5
| | | | | | | | | | | | this is necessary for having a clean way to recurse even from leaf makefiles. the location where the variable is written in the makefile is somewhat bizarre, but the code is so convoluted that finding a better place would mean either a lot of duplication or a lot of prior refactoring. Change-Id: I68e4cf7e3814f6c60b2e3421d69775c993dafb23 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Change copyright information from Nokia to DigiaSergio Ahumada2012-11-263-3/+3
| | | | | | | Task-number: QTBUG-28156 Change-Id: If54615a465504b4124891fb393185eb324372874 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Robert Loehning <robert.loehning@digia.com>
* Ensure QMAKE_PRL_LIBS is a unique list.Friedemann Kleint2012-11-261-1/+5
| | | | | | | | | Windows static builds currently fail due to overlong command link lines containing multiple occurrences of base libraries. Task-number: QTBUG-28131 Change-Id: Ibf7f551fc98c879111b32b27a16f4e96260743c7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: do not exclusively lock files for reading on Windows/MSVCJoerg Bornemann2012-11-231-1/+1
| | | | | | | | | | | | When sifting through a file to find Q_OBJECT and friends, qmake was locking it for reading and writing (_SH_DENYRW). This breaks parallel builds where multiple qmake instances might want to scan the same file. Changed the sharing constant to _SH_DENYNO, which doesn't lock the file at all. This is consistent with the _sopen_s call in findDeps. Change-Id: I9c0a06db7f580f411e79d9d96dd36a6d705679aa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
* MinGW: Don't add version number '0' to the library nameKai Koehne2012-11-191-1/+1
| | | | | | | | | | This fixes linking on MinGW after the library renaming, and is also in line with the logic in the nmake generator. Change-Id: Ie25ce6c1d2b8f292c4e454db1cad9bcbbee7a05d Suggested-by: Erik van Pienbroek Task-number: QTBUG-27137 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* complain about empty $$TARGETOswald Buddenhagen2012-11-131-0/+3
| | | | | | | this should be fatal, but so should be a lot of other conditions. Change-Id: I0c2c0bb9590ea1e4d0eae76e29eda34915914217 Reviewed-by: Joerg Bornemann <joerg.bornemann@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>
* Make it possible to suppress the automatic version number in DLLsThiago Macieira2012-11-061-1/+2
| | | | | | | | | | | | qmake automatically appends the library's major version number to the DLL file name on Windows, as DLL naming doesn't include the version number on a suffix like on Unix systems. This flag makes it so qmake skips adding. This will allow us to insert Qt's major version number at a different position. Change-Id: I25d471038841fb0c5a34ef6b3bd6266aa33cebd1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* do not add DEPENDPATH to VPATHOswald Buddenhagen2012-11-021-1/+1
| | | | | | | | | | | | | | DEPENDPATH merely says where to look for impliciit dependencies, not where to find explicit ones. fwiw, the other way round may be considered correct, but DEPENDPATH exists for the sole purpose of limiting which paths should cause recompilations, so it would be counterproductive to extend with with VPATH. Task-number: QTBUG-11912 Change-Id: I86450b5fd5aeb1f1b015b53f0adcd167ff4ce04d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* rewrite default spec handlingOswald Buddenhagen2012-11-012-3/+13
| | | | | | | | | | 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>
* Fix qmake's pro file cache to interact correctly with write_fileSimon Hausmann2012-10-253-0/+9
| | | | | | | | | When writing a file with write_file() we have to inform the pro file parser cache to discard the file if it's existant in the cache, to ensure that calling include() after write_file() always works. Change-Id: I7d09269a57de55ca30b0e11dd40770de9f919f64 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake ExtraCompilerTargets: deal with file name which contains spaceDebao Zhang2012-10-191-1/+1
| | | | | | Task-number: QTBUG-27629 Change-Id: I6d6c3345cc1bb0a866524df3a1534ed50fc00f3e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Remove addition of dependencies for static libraries.Stephen Kelly2012-10-161-7/+0
| | | | | | | | | | | | | | | | | | | | | The content in the prl file is not compatible with what CMake expects in the value of the IMPORTED_LINK_INTERFACE_LIBRARIES property. That property expects a list of IMPORTED targets or full paths to libraries. The prl file gives us a whitespace separated string of content suitable for passing to ld, that is, it contains -L and -l content. As this would take a lot of error prone parsing in cmake code in order to resolve the content to a list of full paths to libraries (which can be processed by any cmake generator), it's better to remove the code until qmake is able to generate a list of full paths. Change-Id: I72fe8e862b7f3bd25a7f9a03db94d2e9b815d08a Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* qmake: fix reversed defines in vcxproj filesJoerg Bornemann2012-10-131-1/+1
| | | | | Change-Id: I9fbb4b563428bb23974d59050f4c71e8d1983ff3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: fix .pc install target dir separators on windowsJ-P Nurmi2012-10-101-1/+1
| | | | | | | Task-number: QTBUG-26455 Change-Id: I578345b1676d0d2e812e0ab2e48468b4a8013ee9 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Generate ';' separated libraries in prl files for CMake.Stephen Kelly2012-10-091-0/+7
| | | | | | | | | | | | | | | | | | The generated CMake files need to pass ';' separated libraries to the IMPORTED_LINK_INTERFACE_LIBRARIES property, otherwise we get errors such as this: http://testresults.qt-project.org/ci/QtTools_master_Integration/build_00386/win32-msvc2010_Windows_7/log.txt.gz (grep for QtCore5.lib.lib) Rather than a naive and error prone replacement of whitespace, generate the appropriate ';' separated content directly in the qmake prl file. Change-Id: I8eb5e233a0318b57ec74b86d910583ff99c29415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Tools: add QLibraryInfo to the bootstrapped library.Pierre Rossi2012-10-081-1/+1
| | | | | | | For future use by qdoc. Change-Id: Id9079a6fa581ff16810df9a8f2bb94314ee11ca9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Make sure the path is quoted in case it has spaces in itAndy Shaw2012-09-281-3/+5
| | | | | | | | | | This fixes a problem when the preprocessing scripts were called from a path with spaces in it. Task-number: QTBUG-15317 Change-Id: I92ea85e12e2f9abfc262a8dcaa4f414e471e468c Reviewed-by: João Abecasis <joao@abecasis.name> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fail when Windows CE SDK not foundAndreas Holzammer2012-09-271-0/+11
| | | | | | | | Add failing when crosscompile for Windows CE and no matching SDK is found. Change-Id: I359e792fe46bab46729788666679a16cb94f340e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix XCode generator for qmake in Qt 5 after recent changesAndy Shaw2012-09-272-30/+31
| | | | | | | | Due to all the changes recently it broke in some places, this now gets it working again. Change-Id: I879ca5684435289a61d8db248f2c3f64f6866a60 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Bring subproject dependencies in line with Makefile generatorsAndy Shaw2012-09-272-171/+204
| | | | | | | | | | When generating the solution file it should extract the dependencies from the pro file as this will bring it in line with the Makefile generators. Task-number: QTBUG-22561 Change-Id: I8d5b6607712f2c77c87ef093480e64b9633817d8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: fix overescaped defines in vcxproj filesJoerg Bornemann2012-09-261-3/+19
| | | | | | | | Task-number: QTBUG-27345 Change-Id: I00848d611163afb549191f41adff628622a899e0 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Fix gcc warning about anonymous type linkageKai Koehne2012-09-261-1/+1
| | | | | | | | Fix "warning: anonymous type with no linkage used to declare variable '<anonymous struct> dotNetCombo []' with linkage". Change-Id: Iaff0d460df53fd6d0732d39bf633688805f5c653 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: support for Visual Studio 2012 project files addedJoerg Bornemann2012-09-254-1/+34
| | | | | | | | | | The differences to VS 2010 project files are the version number (surprise!) and the PlatformToolSet tag which sets the version of the toolchain. Change-Id: If26f08fad1a69d7e6cd28cc5e860ff964f19b264 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2257-1366/+1366
| | | | | | | | 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>
* Use QStringList::join(QChar) overload where applicable [qmake]Marc Mutz2012-09-2112-61/+61
| | | | | | | | | | This is an automated change performing the following replacements: join\("(.)"\) -> join('\1') join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1')) join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1')) Change-Id: I9c9964703dedfdab6e7bfac80be22bd5570e2e49 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: add ProStringList::join(QChar)Marc Mutz2012-09-212-8/+20
| | | | | | | | | | | Same reasoning as for 68e04c3ac148bcbe71f2deeb7288563f6cdbcab5 applies. Adding the overload was easier than to teach a Perl script to distinguish between QStringList and ProStringList instances... Change-Id: I6de6ecf21fdad135ac213b5c794927a9bc120a92 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* make error() abort the qmake run, not just the current fileOswald Buddenhagen2012-09-215-64/+108
| | | | | | Change-Id: I82fc55680f9ffb227e25acb39c797596225ba89e Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* resolve only one level of symlinks, and only for the default specsOswald Buddenhagen2012-09-191-1/+6
| | | | | | | | otherwise we end up in the source tree, which is counterproductive. Task-number: QTBUG-26869 Change-Id: Id44a94f827dc285c75b9b243c8ef6478e668e3ff Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fold m_qmakespecFull back into m_qmakespecOswald Buddenhagen2012-09-193-10/+9
| | | | | | | the original value is not used any more after the final resolution. Change-Id: Icadc219f045a1bbfd20506c4c72c53d1fb352969 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix non-bootstrapped $$system()'s line end conversions on windowsOswald Buddenhagen2012-09-181-3/+7
| | | | | Change-Id: I026da1312bc28619dc7aa5974b7f4c00710517ac Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* don't allow overloading of built-in functionsOswald Buddenhagen2012-09-184-20/+35
| | | | | | | | | | the functions are not versioned or scoped, so user-defined overloads would mess up qmake's own feature files. it seems safer to break user projects than to allow the user to break qmake. Change-Id: I020a2e6416bbb6e2fd2ece339629d848c00c8398 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* remove the entirely insane whitespace compressionOswald Buddenhagen2012-09-181-18/+2
| | | | | | | | | | | it was merely an artifact of using QString::simplified() on the unparsed (!) project code. there is no reason why anyone should actually rely on it, so just remove it. Change-Id: If9b957c4b1263f3990a2331f8851bb1c06154ea8 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix QMAKE_MANIFEST for shadow buildsOswald Buddenhagen2012-09-181-1/+3
| | | | | Change-Id: Iea71f4a4d483e9465b3a7f0ce4560b2e9fa6cd63 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* properly C-quote the manifest file name in the rc fileOswald Buddenhagen2012-09-181-1/+11
| | | | | Change-Id: I8c8eb85d412becc8c4029c2aa393abf6f8e949b6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* rewrite *_manifest.rc unconditionallyOswald Buddenhagen2012-09-181-1/+1
| | | | | | | | | | the file has no dependency tracking, so changes to the source would get missed and cause hard to debug build issues. and as nothing does dependency tracking on that file, this change doesn't even cause a noticable performance regression. Change-Id: I108b490b71a43018e0c7ef5d7c0b11d79a8e726b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Include own header firstSergio Ahumada2012-09-172-2/+3
| | | | | | | cpp files should include their own headers first (but below config.h) Change-Id: I10ef37854843ae6438d68f96ce5ee83eede33db5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* remove support for non-lowercased $$eXpaNd() functionsOswald Buddenhagen2012-09-131-9/+0
| | | | | | | | | | we have been warning about such functions for a while now, now execute. the qmake language is (generally) case-sensitive, so this wasn't all that useful anyway. Change-Id: I1388ac2d5a1104389aeb3347e739a0d5e69e138d Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* delete grossly outdate changelog fileOswald Buddenhagen2012-09-131-99/+0
| | | | | | Change-Id: Ibd35690e82849457a10d8d2f99564d2e0bde257b Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* bump qmake versionOswald Buddenhagen2012-09-131-1/+1
| | | | | | | | the world has awaited this moment for a long time. very patiently. Change-Id: Iba8697e7eebb5cdd43caadb64cd89126de395e66 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* replace qmake_version() with a simple string literalOswald Buddenhagen2012-09-136-24/+6
| | | | | | Change-Id: I12e715aab23e01267e8a1434a3a965276c1a6182 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>