summaryrefslogtreecommitdiffstats
path: root/qmake/generators/unix/unixmake2.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
| * Add CFBundleVersion to the Info.plist files.Morten Johan Sørvig2014-10-011-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Add @FULL_VERSION@ -> Qt version substitution to unixmake2. This makes the Qt-generated Info.plist files compliant with the bundle signing/validation process. Task-number: QTBUG-32896 Change-Id: I1818f028c2f740d699629dd78cc0fe6ffaf94a1c Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * Don't make Info.plist for debug framework bundlesGabriel de Dietrich2014-10-011-55/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do so by setting a 'no_plist' config property. Can be overridden with 'force_debug_plist'. The debug version of Info.plist would overwrite the release version, and it also happens to contain invalid data. In particular, CFBundleExecutable would contain the _debug suffixed libname, which it shouldn't. See the entry about CFBundleExecutable on https://developer.apple.com/library/ios/documentation/general/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html Task-number: QTBUG-32894 Change-Id: Ideb018e4768a7c4e276e1b07d77937451f6db6a2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * centralize bundle_dir calculationOswald Buddenhagen2014-10-011-4/+4
| | | | | | | | | | Change-Id: I353fb4eafc014bccdec71af42f8625b33488ae0d Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * nest bundle-related conditionals for clarityOswald Buddenhagen2014-10-011-19/+20
| | | | | | | | | | Change-Id: I97f9d87cb5a114bf4764f13f0fd0d22e9b4da96f Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * make top-level symlinks in bundles point to Current, not the major versionOswald Buddenhagen2014-10-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Current already points to the major version, and the other symlinks are supposed to take advantage of that (so a hypothetical change of major versions requires just one symlink to be adjusted). https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html Task-number: QTBUG-32895 Change-Id: I3c3a38c72ba18de6e48b20f2662341672022a274 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * write 'all' target laterOswald Buddenhagen2014-10-011-13/+10
| | | | | | | | | | | | | | this allows us to extend its dependencies, which we will make use of later. Change-Id: I8809bdffb435455338e88e97049b10beeab0468a Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | Update license headers and add new license filesMatti Paaso2014-09-241-18/+10
| | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* | qmake: Add QMAKE_SONAME_PREFIX variableAdam Strzelecki2014-09-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | If defined, the value of this variable is prepended to the built shared library's SONAME identifier. For more information, see: qmake/doc/src/qmake-manual.qdoc#qmake-soname-prefix Task-number: QTBUG-31814 Change-Id: I4bceaf0c93162e4fad6bb424af1b82e74d38acdc Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* | Correct the list of files included in "make dist"Thiago Macieira2014-07-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | At the very least, include the files named in the sources, like HEADERS. It was quite surprising to send a tarball that included the .pro file and the .cpp sources, but none of the headers. On the other hand, the .qmake.cache file need need not be sent either, despite being include()d in qmake's processing. Change-Id: I8f48ca3e8040f954f321f4643b01c0f36aafe2d7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devJ-P Nurmi2014-06-051-2/+4
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt.prf src/plugins/platforms/xcb/qxcbwindow.h src/tools/qdoc/qdocindexfiles.cpp src/widgets/kernel/qwidget_qpa.cpp Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
| * Remove the need for the dot in OS X/iOS bundle prefixSamuel Gaist2014-05-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the need for the user to put a dot at the end of the bundle prefix which makes it's use more consistent and intuitive. The prefix is based on what Xcode calls the "Company Identifier", basically "com.digia" plus the product name. Changing that to "com.digia.prefix-" and the product name to "Foo" results in a bundle identifier of "com.digia.prefix-.Foo" which is in line with Xcode. Change-Id: I9b62fc4dee1df51b523ce890a8896ea58ea2c62d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | qmake: generate make dist target for subdir projectsJ-P Nurmi2014-06-021-27/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | The original dist target no longer copies files around, but merely does the final packaging. It depends on a new recursive distdir target, which handles copying distfiles to the distdir. [ChangeLog][Tools][qmake] Added 'make dist' target for subdirs projects (unix only) Task-number: QTBUG-21910 Change-Id: Ib59139c3fe196caf832d8dcefab484ab91f1f5ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | qmake: share the default variablesJ-P Nurmi2014-05-271-14/+2
|/ | | | | | | | | Eliminate duplicate code => collect the default variables to MakefileGenerator::writeDefaultVariables(). Task-number: QTBUG-21910 Change-Id: Ia03ce0240dd9a101ad9d35db636cd88f38a49320 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* xcode generator: don't modify or copy QMAKE_INFO_PLISTRichard Moe Gustavsen2014-05-211-3/+3
| | | | | | | | | | | | | | | | | | | | | If the project has a custom Info.plist assigned to QMAKE_INFO_PLIST, we should leave it as-is without scanning and replacing contents inside it. Since we always copy the file to the build folder at qmake time, any later attempts to modify the source file will not have any effect. A better solution is to just reference the custom plist directly from the Xcode, without modifying it. This change will also stop unixmake2 from assigning the default plist to QMAKE_INFO_PLIST, since we need to know in the xcode generator if the variable was set in the project or not. Task-number: QTBUG-38260 Change-Id: I3c488b2960170c544d94f9db89d3ca95ee290bdd Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Android: Add "unversioned_libname" configurationEskil Abrahamsen Blomfeldt2014-04-251-24/+46
| | | | | | | | | | | | | | | | | | | | | On Android, there's a limitation set on the names of the libraries you deploy that they must start with "lib" and end with ".so", so Android apps will link against and deploy with the unversioned libQt5FooBar.so libraries. When cross-compiling on Windows however, due to the lack of symbolic links, the only installed library used to be the main library target "libQt5FooBar.so.X.Y.Z" (for version X.Y.Z.) This has been worked around in packaging, but breaks building add-on modules on top of Qt, and is clearly wrong. This patch introduces a new "unversioned_libname" configuration in qmake which is currently only supported for the Unix makefile generator and only enabled for Android builds. When it is enabled, only the unversioned library "libQt5FooBar.so" will be created. Task-number: QTBUG-38347 Change-Id: Ia8897ca7a23a62e2a526d0e02854899b02eb19dc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Use QMAKE_TARGET_BUNDLE_PREFIX to build bundle identifierSamuel Gaist2014-02-191-1/+4
| | | | | | | | | | | | | Currently the bundle identifier is build using com.yourcompany + QMAKE_BUNDLE. This patch adds the handling of QMAKE_TARGET_BUNDLE_PREFIX to build the bundle prefix. Task-number: QTBUG-19006 Change-Id: I014279da6dbef393b0df36f6d4995e40ab105316 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-071-0/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp src/plugins/platforms/android/androidjnimain.cpp src/plugins/platforms/android/qandroidplatformintegration.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/android/qandroidplatformopenglcontext.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/sql/doc/src/sql-driver.qdoc src/widgets/widgets/qtoolbararealayout.cpp Change-Id: Ifd7e58760c3cb6bd8a7d1dd32ef83b7ec190d41e
| * Replace @BUNDLEIDENTIFER@ in Info.plistMorten Johan Sørvig2014-01-221-0/+4
| | | | | | | | | | Change-Id: I34aa77fc51b1ae4d7941f01fcb20236250454d19 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | qmake: Add DISTCLEAN_DEPS variableAndrew Knight2014-01-301-1/+1
| | | | | | | | | | | | | | | | This variable works like CLEAN_DEPS, but applies to the distclean target. Change-Id: Ia30e8932b9acd6529298728dd5d0e038b0208d66 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Don't scan system includes for dependencies and don't list themThiago Macieira2014-01-201-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assume that C and C++ headers found in system paths will not change, so we don't need to tell Make about them, nor do we need to scan their contents either. The previous qmake behavior matched gcc's -M switch; it now matches the -MM switch: -M Instead of outputting the result of preprocessing, output a rule suitable for make describing the dependencies of the main source file. -MM Like -M but do not mention header files that are found in system header directories, nor header files that are included, directly or indirectly, from such a header. This goes hand-in-hand with our use of -isystem to pass system paths to the compiler. Change-Id: I3346b6da496fe6495ac89c5286d066b343116f0e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Add support for using -isystem in qmakeThiago Macieira2014-01-201-1/+7
| | | | | | | | | | | | | | | | | | This commit will make qmake use -isystem automatically for any compilers that declare support for it for any paths that are listed in QMAKE_DEFAULT_INCDIRS. Change-Id: I36fefc6d5bba61671f65669f0ea42704b3c3cf31 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | qmake: prepare TARGET/VERSION/DISTFILES for sub targetsJ-P Nurmi2014-01-171-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a preparation step for 'make dist' target for subdir projects. UnixMakefileGenerator needs these variables while extending writeSubTargets() and writeDefaultVariables() for 'make dist'. Partial cherry-pick of https://qt.gitorious.org/qt/jpnurmi-qt/commit/8c4ef19 Task-number: QTBUG-21910 Change-Id: I02a616a98448bc3041ef0f4fd034bfb4c2199e41 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | expand tabs and related whitespace fixes in *.{cpp,h,qdoc}Oswald Buddenhagen2014-01-131-1/+1
| | | | | | | | | | | | | | | | the diff -w for this commit is empty. Started-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I77bb84e71c63ce75e0709e5b94bee18e3ce6ab9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Move the SUBLIBS target from qmake away from between clean/distcleanThiago Macieira2013-12-231-11/+12
| | | | | | | | | | | | | | | | | | | | Right now, the sublib targets, if any, show up between clean and distclean targets. That's silly. I doubt anyone is using sublib targets anyway, but... Change-Id: I2beffc69f68fa7626ff4aa4a7cc1169b2c6c69a7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | qmake: do not include GENERATED_SOURCES to distJ-P Nurmi2013-12-201-2/+3
| | | | | | | | | | | | Task-number: QTBUG-21910 Change-Id: I4cc3f75f5ee4672f89b0b965055a02ac24c16cc8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | PCH stands for "precompiled header", not "prefix"Thiago Macieira2013-12-131-1/+1
|/ | | | | Change-Id: Ied8148be931992247e446719a0eaeec0dc868330 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* complete implementation of force_debug_infoOswald Buddenhagen2013-12-031-0/+4
| | | | | | | | | that means further detaching the generation and installation of debug info from the thing calling itself A Debug Build. Task-number: QTBUG-32412 Change-Id: I4d79d1ae4806c8e4a2d6a7ccd030fb88385dd7d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-11-261-5/+5
|\ | | | | | | Change-Id: I83ff8f4d7dffd7385013a1bd8a1732a89ee20d56
| * fix more cases of mkdir_asstring() argument overquotingOswald Buddenhagen2013-11-211-5/+5
| | | | | | | | | | Change-Id: I7dd4024fb6fceb47431b626b586a471b74789cdc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | make distclean actually remove the static library targetOswald Buddenhagen2013-11-251-1/+1
|/ | | | | | Task-number: QTBUG-3883 Change-Id: I288d830d6f73c69401ba81a70f35ee511e31bed5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix overquoting in some mkdir callsOswald Buddenhagen2013-11-201-3/+3
| | | | | Change-Id: I2ed418064d43ab8cdab87af48e03d983c023ccf5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* xcode generator: warn if QMAKE_INFO_PLIST is not validRichard Moe Gustavsen2013-11-011-0/+2
| | | | | | | | | | | Warn the user if QMAKE_INFO_PLIST is set, but file not found. An iOS application will not run or deploy without an Info.plist present, and the error message given by xcodebuild is not very informative. Change-Id: I54f0e06de320a43c9f3261fe88761c41e3ccd022 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* de-duplicate code for writing dummy makefilesOswald Buddenhagen2013-08-271-12/+1
| | | | | | | | | | as a side effect, this fixes the generators that were more bitrotted (nmake and even more mingw). Task-number: QTBUG-30644 #close Change-Id: Iefa3f07125884412d091aa12b44935e5b1fb858a Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix SONAME handling on androidStephen Kelly2013-08-131-0/+3
| | | | | | | | | | Set the SONAME to the library name without the major version number appended, as android does not have the versioned symlinks. Change-Id: I41c504869019a393a3f112b2f7fc81c7ad5afa1c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* don't install mac bundles atomicallyOswald Buddenhagen2013-07-221-3/+13
| | | | | | | | | | | | | | | ... as that causes debug+release installs to overwrite each other's postprocessed files. introduces CONFIG+=sliced_bundle, which instructs qmake to create file-by-file install commands. we don't know whether people are not putting files outside qmake's knowledge into the bundle build dir, so this mode is not necessarily backwards-compatible, and thus off by default. Task-number: QTBUG-28336 Change-Id: I23e90985ccd3311f0237ed61aadca6d7ed8325b7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* mac frameworks: link target alias to Current versionOswald Buddenhagen2013-07-221-3/+2
| | | | | | | | | | | by convention, $target.framework/$target links to Versions/Current/$target, not Versions/$version/$target. Versions/Current already links to $version. so this adds one indirection, but is otherwise the same. Change-Id: If3d1a3713712f4221ec31883977e50bce6f91764 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* merge string literalsOswald Buddenhagen2013-07-041-70/+70
| | | | | | | | makes for less visual noise and a tiny bit more efficient code. Change-Id: I587707fa4e2dc9bead9435bf5caf3a98ab680725 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Android: Backslash workarounds for Unix Makefile generatorRay Donnelly2013-04-101-10/+14
| | | | | | | | | | | | | | | If mingw32-make.exe encounters a backslash as the last character on a line it interprets this as signifying line continuation. When building Android Qt on Windows via cmd.exe, this happens as backslashes are used on Windows as directory separators. The workarounds are to make sure that a comment appears directly after the definition of DESTDIR and that a space ends such $(MOVE) command lines. Change-Id: I7f93b655e004edaadac41d0d96bca23e1ba3a85c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Android: Split Unix Makefile generator's $(MOVE) commands upRay Donnelly2013-04-081-2/+6
| | | | | | | | Split $(MOVE) commands up into one per file so that cmd.exe's builtin move command can be used. Change-Id: Ife8d7449a2d7718a67082e2d78954964033ce07d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* make depend_prl more thorough; introduce fast_depend_prlOswald Buddenhagen2013-03-161-3/+8
| | | | | | | | | | | | | | | depend_prl would so far only ensure that the dependency existed, not that it would be up to date. this is of only limited value, so make sure that the dependencies are always updated. as this is somewhat expensive (every dependency's makefile will be entered as many times as it is used, plus one), provide an opt-out by adding fast_depend_prl. Task-number: QTBUG-29486 Change-Id: Ifa2e100bc4c269a403ab620927bfe5c7efe9a435 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* introduce QMAKE_LINK_O_FLAGOswald Buddenhagen2013-03-021-4/+4
| | | | | | | this makes it possible to properly parametrize alternative linkers. Change-Id: Ia9cf574544a0259975470366d278b6c5dc747906 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* qmake: Resolve QMAKE_INFO_PLIST against current working dirTor Arne Vestbø2013-02-261-1/+1
| | | | | | | | | We're not in the output directory yet, so resolving using vanilla fileFixify will end up failing when we check if the file exists, since QFileInfo resolves relative paths against the current directory. Change-Id: I414c6a2e83b49e3fb30e6153a49f7a90a8e528a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
* don't overquote deps on .pc and .la filesOswald Buddenhagen2013-01-081-6/+2
| | | | | | Change-Id: I00c268b1c0316b6deb0c4e1b2a0c7428e312c682 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.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>
* Use QStringList::join(QChar) overload where applicable [qmake]Marc Mutz2012-09-211-6/+6
| | | | | | | | | | 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>
* 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-120/+125
| | | | | | | | 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>
* make QMakeMetaInfo a little less inefficient with libtool .la filesOswald Buddenhagen2012-09-051-1/+1
| | | | | | | | | don't read the spec from scratch for every library just to get QMAKE_LFLAGS_RPATH. we can perfectly use our current project for that purpose. Change-Id: I4e408b3fd5de81652181df032aa53cd8f2f8f806 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* micro-optimize: use POD-initializable lists of variable namesOswald Buddenhagen2012-08-281-2/+2
| | | | | Change-Id: I3732fef509b358949ef90002dbfc1960360afef8 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>