summaryrefslogtreecommitdiffstats
path: root/qmake/generators/unix/unixmake.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* prune vestiges of IMAGES and QMAKE_IMAGE_COLLECTIONOswald Buddenhagen2015-02-021-4/+1
| | | | | | | | this stuff apparently pre-dates rcc. Change-Id: Iaa58419476c3d20e2801e91dc1881880c741fdc6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove QMAKE_FAILED_REQUIREMENTS optimization from unix generatorOswald Buddenhagen2015-02-021-3/+0
| | | | | | | | no other generator does it. if it actually buys anything, it should be re-instantiated differently. Change-Id: I8431702ac7d558d65fd28a7f9e36bb49db2eb253 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make fallback handling for QMAKE_BUNDLE_EXTENSION saneOswald Buddenhagen2015-02-021-6/+6
| | | | | | | | | | | | | the logic was such that if the bundle name already had the specified extension which was not the default extension, the default extension would be appended, too. i don't think that was the intention ... now we simply put the default into QMAKE_BUNDLE_EXTENSION if its empty - the variable is not used anywhere else where it would be expected to preserve its emptiness, so this is safe. Change-Id: Ied34d10f9fe60756bddc0037dcb2f1d3bbfd3e12 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* values(foo).first() => first(foo)Oswald Buddenhagen2015-02-021-11/+7
| | | | | Change-Id: Ic5bb8ae3166c76299881970f83d20206bec704bc Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove pointless double initialization guardsOswald Buddenhagen2015-02-021-4/+0
| | | | | | | this isn't some fuzzy logic, the call sequence is well determined. Change-Id: I1696b49ed687da83d2969efcfe23ac6565630020 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Oswald Buddenhagen2014-10-061-2/+0
|\ | | | | | | Change-Id: I132bb6cce68e9f8413200f7ee75586bd1cada38c
| * redo bundle file dependency trackingOswald Buddenhagen2014-10-011-2/+0
| | | | | | | | | | | | | | | | | | instead of duplicating the plist/icon/bundled_files logic just to obtain the dependencies, create them as a side effect of the actual target creation. Change-Id: I6a0fe26c82c490b1040a7a06d5d0e7a4567ae1af Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.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>
* | qmake: Don't make rpaths starting with @ or $ absoluteAdam Strzelecki2014-08-091-4/+6
| | | | | | | | | | | | | | | | | | | | | | Defaults qmake behavior is to make all project RPATHDIR paths absolute prior passing them to linker. We need to make an exception for paths starting with @ such as @executable_path (Apple platforms) or $ such as $ORIGIN (Linux). Task-number: QTBUG-31814 Change-Id: Ie9887c0046c5030c4128dda945b491a5d389ba34 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* | Correct the list of files included in "make dist"Thiago Macieira2014-07-301-0/+2
|/ | | | | | | | | | | | 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>
* Android: Add "unversioned_libname" configurationEskil Abrahamsen Blomfeldt2014-04-251-1/+3
| | | | | | | | | | | | | | | | | | | | | 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>
* in command line args, escape tabs as wellOswald Buddenhagen2014-04-071-1/+2
| | | | | | Task-number: QTBUG-27154 Change-Id: I4a204b2bf2231027db55a444f304190c3b30878c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Don't fileFixify PRECOMPILED_HEADER twiceThiago Macieira2014-04-041-1/+1
| | | | | | | | | | fileFixify must not be called twice on the same file path, since it will convert an absolute path from the shadow build to an absolute path in the source dir. The first fileFixify occurs in MakefileGenerator::init, along with the fixifying of INCLUDEPATH. Change-Id: I607870573a80eaf834ea5f540bbe1451ec983114 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: cleanup DISTFILESJ-P Nurmi2014-01-171-3/+5
| | | | | | | | | Do not include the project file twice or other .pr? files outside the project tree. Task-number: QTBUG-21910 Change-Id: I62af842282ccdc5b9099d9227d5395ebe3f0698c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: prepare TARGET/VERSION/DISTFILES for sub targetsJ-P Nurmi2014-01-171-8/+19
| | | | | | | | | | | | | 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>
* complete implementation of force_debug_infoOswald Buddenhagen2013-12-031-1/+2
| | | | | | | | | 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>
* qmake: Centralize TARGET sanitization in default_post.prfTor Arne Vestbø2013-10-111-13/+1
| | | | | | | | | | | | | | | Shared between UNIX and Win generators, and allows prfs after default_post to rely on sane TARGET and DESTDIR values. This allows us to clean up the DESTDIR logic in testcase.prf, which was completely busted. Doing the two in separate commits is unfortunately not possible as the old testcase.prf logic was so broken it would barf if only looked at. Change-Id: Ibf21216195c760ee46ae679c162b207b77a9d813 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* don't install mac bundles atomicallyOswald Buddenhagen2013-07-221-23/+46
| | | | | | | | | | | | | | | ... 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>
* fix target strip-ing inside mac bundlesOswald Buddenhagen2013-07-221-8/+13
| | | | | | | | this went unnoticed so far, because the mac qmakespecs don't define a strip command to start with. Change-Id: Iac3e7ffa6f400373552134a44b9713aaf5f44589 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* escape paths coming from prl filesOswald Buddenhagen2013-07-221-1/+1
| | | | | | | | | | | qmake has the rather bizarre logic that QMAKE_LIBS* is escaped rather early (instead of right before being written out the the Makefile). consequently, we need to explicitly escape the paths from the prl files as well. Task-number: QTBUG-32326 Change-Id: Ieaf81113d3ca3cf5d8a1ef87c83c5721d6b473ee Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Change two scopes to mac instead of macxTor Arne Vestbø2013-07-021-2/+2
| | | | | | | As they apply to both OSX and iOS. Change-Id: I6ea9c80f9cf3fd593723ae449f16d7905f68545e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Introduce QMAKE_CC_O_FLAGLaszlo Papp2013-03-251-2/+2
| | | | | | | This makes it possible to properly parametrize alternative compilers. Change-Id: Iaf0961c47875ee16d815356f36acf5652577cdca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add an initial TI linker support for the unix qmake generatorLaszlo Papp2013-03-191-0/+3
| | | | | | Task-number: QTBUG-30215 Change-Id: Ica283e6b7f67563504ed81f4db1c2218fe5e8b8c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make .prl file generation work for iOS again.Morten Johan Sørvig2013-03-061-8/+8
| | | | | | | | | | | | | d28073d9 creates a distinction between "mac" and "macx". The latter is not set on iOS, which caused MakefileGenerator::target_mode to be set to TARG_UNIX_MODE. Check for the "mac" active config instead of "macx". Rename TARG_MACX_MODE -> TARG_MAC_MODE. Change-Id: I7192788c33f5723034ba76da2492379dd454f0ab Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* consolidate generation of metafile install targetsMark Brand2013-01-251-20/+3
| | | | | | | | | Metafiles such as .prl and .pc files contain paths that have to be adjusted during installation. The same code is used for unix and windows so move it into the base class. Change-Id: I82db89ec83820a4fa0214ba15e7cd63438f6dc91 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>
* 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>
* 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>
* fix c string comparisonOswald Buddenhagen2012-09-071-1/+1
| | | | | | | Change-Id: If9cc96e240047cfe301804d57a33b937afadef72 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* introduce qmake variable abstractionsOswald Buddenhagen2012-09-071-69/+68
| | | | | | | | 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>
* restore support for QMAKE_LIBDIR_FLAGSOswald Buddenhagen2012-09-051-5/+7
| | | | | | | | unexpectedly, this internal variable is documented. grumble. Change-Id: I272c1f553b56f253d2f59f875de78d5bc279186a Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* remove handling of QMAKE_FILETAGSOswald Buddenhagen2012-09-031-7/+0
| | | | | | | | it was unused for a decade. and broken, of course. Change-Id: I9713d595d95c5b074ef96dfe9b1c314b9198bd7e Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* micro-optimize: use POD-initializable lists of variable namesOswald Buddenhagen2012-08-281-10/+10
| | | | | Change-Id: I3732fef509b358949ef90002dbfc1960360afef8 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* remove dead variable assignmentsOswald Buddenhagen2012-08-281-1/+0
| | | | | | Change-Id: I032e9116ca1b7250497f56ea26103f2173f0fc09 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* findLibraries(): don't remove -L options for system pathsOswald Buddenhagen2012-08-041-1/+2
| | | | | | | | | the paths may be explicitly added before some other paths, so it would be wrong to remove them. Change-Id: I68ae93fd307afe14a07a0f24de952783950b5bea Reviewed-by: Holger Freyther <holger+qt@freyther.de> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* run processPrlFiles() over QMAKE_LIBS_PRIVATE as wellOswald Buddenhagen2012-07-311-1/+1
| | | | | | | | | | | | there is no reason why private libs should not have prls resolved. the two variables are resolved independently, so it's possible that (even more) libraries will appear duplicated on the linker command line, but that seems easiest for the time being. Change-Id: I9070ba53808a0661fa72949db8111106b7aca487 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make the windows prl processing more like the unix variantOswald Buddenhagen2012-07-311-9/+0
| | | | | | | | it's more elegant, and more similar code is better. Change-Id: I2b8b036cb70a932fd171e23cf7d3389188401924 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* do not look for frameworks in library pathOswald Buddenhagen2012-07-281-3/+2
| | | | | | | it's just wrong Change-Id: Ia21e9fb7e67623d6c4f70eab1f76360624ba314b Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* insert explicit library search paths before system search pathsOswald Buddenhagen2012-07-281-4/+6
| | | | | | | | ... as the linker does. Change-Id: I4a030d9e2f281b892b78ba25b11f6df6b0893712 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* look into /Library/Frameworks as well in processPrlFiles()Oswald Buddenhagen2012-07-281-0/+1
| | | | | | Change-Id: I445b9d1d3cd349eb7981b1aec824e6878b0c16e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* unify default search paths between findLibraries() & processPrlFiles()Oswald Buddenhagen2012-07-281-0/+2
| | | | | | | | i see no reason why they should deviate Change-Id: Iaa0445b79a95d348f51df74a74c7c89216c468ec Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix lookup of libraries with a full path but without extensionOswald Buddenhagen2012-07-281-2/+3
| | | | | | | | | given that nobody noticed so far how broken this was, this doesn't appear to be a particularly common path. but anyway ... Change-Id: Ic17b239d724a4d69ff414a24be2e8588732bc8dd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* don't actually resolve frameworks in findLibraries()Oswald Buddenhagen2012-07-281-16/+4
| | | | | | | | | | | the code wouldn't actually *do* anything with them, because it was completely broken. didn't seem to hurt, so just remove it. we still need to parse -framework, though, so we don't do funny things with its possible argument. Change-Id: Ia3266538612d3314a72f4965ee9c1ea2d3046ac9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* dispose of QMAKE_LIBDIR_FLAGS, "demote" QMAKE_FRAMEWORKPATH_FLAGSOswald Buddenhagen2012-07-271-4/+8
| | | | | | | | | | | merge their content as early as possible into QMAKE_LIBS. that's where they ultimately end up anyway, and this approach is way simpler. QMAKE_FRAMEWORKPATH_FLAGS is also used for the compiler flags, so it remains as such in this second function. Change-Id: Idc3ba4a9b2569fce3252d5f5ddc3f6ebf93650cf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove duplicate -L flags in findLibraries()Oswald Buddenhagen2012-07-271-3/+7
| | | | | | | | unlike duplicated -l options, duplicated -L options are really redundant. Change-Id: I4fa42d8ee2f10c6e6263457d9bb97291e13685ef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* unify handling of non-standard linker -L flagsOswald Buddenhagen2012-07-271-11/+16
| | | | | | | | | findLibraries() now consistently expands to the linker-specific syntax, and processPrlFiles() expects that syntax. Change-Id: Ifd7b51d01378c91d6f2b132aca33629f21ca72f9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* do not run findLibraries() over QMAKE_LFLAGSOswald Buddenhagen2012-07-241-2/+2
| | | | | | | | libraries and related flags have no business in that variable, by definition. Change-Id: Ic958a3e082a498945ab56bc12ec05d4083ee43a5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* remove another symbian remnant: QMAKE_RVCT_LINKSTYLEOswald Buddenhagen2012-07-121-7/+2
| | | | | Change-Id: Ibac060ecae061c72d4c7076b2d61a5cdd6247420 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make the prl lookup search in standard locationsOswald Buddenhagen2012-07-121-0/+2
| | | | | | | | | | | | qtAddModule() skips adding standard library paths to LIBS. however, as processPrlFiles() didn't know anything about that, it would not find the prl files of qt libraries in these paths. so centralize the definition of these default paths (we should actually ask the linker for them) and use it in both places. do the same for the include paths for symmetry. Change-Id: I7e3692dc2d1c2d0c97a9151d15887b1263de137a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* const correctness for values() callsOswald Buddenhagen2012-06-271-1/+1
| | | | | Change-Id: I1476ae8d3fb7364686398c5650729dee94a8e933 Reviewed-by: Mark Brand <mabrand@mabrand.nl>