summaryrefslogtreecommitdiffstats
path: root/qmake/generators/unix/unixmake2.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* qmake: Apply modernize-use-nullptrAlessandro Portale2018-08-081-1/+1
| | | | | | | Use nullptr instead of 0. Change-Id: Ib3120b9c424a274a2d4dd4c42ec5d7cd5bdead65 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-07-171-7/+7
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbintegration.cpp Conflicts git missed: src/plugins/platforms/qnx/qqnxglcontext.cpp Change-Id: I0582cdc9e66e43efe79038b9c43d4f9572ac88fc
| * qmake: make sure 'move' commands to DESTDIR are valid on mingwOswald Buddenhagen2018-07-091-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the code ensures that the path ends with a path separator, which is unhealthy under mingw when the command ends with that path, because it's interpreted as a line continuation. the easiest fix is just duplicating the name of the moved file to the destination side. the cleaner fix would have been cleaning up the path separator mess, but that's a more invasive change and doesn't seem worth it. Task-number: QTBUG-69255 Change-Id: I338f8997b84ed7049b5665872dd25f90b9d4d16a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qmake: get rid of (some) makefile expansions in dependency pathsOswald Buddenhagen2018-07-161-13/+13
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | the variables are quoted correctly for commands, which is incompatible with quoting for dependencies under mingw. so insert the paths as literals, where we can control quoting. this fixes building in directories with spaces, which i broke in 7c34e0a7b by using different quoting styles for deps and commands in the first place. this breaks the hypothetical use case where somebody wants to override TARGET or DESTDIR (or DESTDIR_TARGET under windows) on the *make* command line. not sure why anyone would do that - just do it at the *qmake* level. we did not get rid of OBJECTS, because that would cause significant duplication in the makefile (not that it would matter too much, given the dependency lists ...). this isn't a problem, because these are short relative paths which are not expected to contain "funny" characters. an alternative would have been to change the variables' quoting and eliminate them from the commands instead, but that would be backwards-incompatible, because commands are "user-servicable". for the same reason, we cannot get rid of the variables entirely. Change-Id: Ic7592c7fc67d8b7d2b64de80808365cd1c3f79d0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qmake: use consistent path separators in makefile dependenciesOswald Buddenhagen2018-06-121-2/+2
| | | | | | | Task-number: QTBUG-65072 Change-Id: I3456d9b2cdfa9c65be5933f592abb640f81c39f2 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qmake: fix QMAKE_BUNDLE_DATA for (some) generated filesOswald Buddenhagen2018-04-121-1/+3
| | | | | | | | | | | | | the source file must not be written with an absolute path to the makefile, as this won't match the name of the target which generates it, thus leading to an unsatisfied dependency. this is the proper fix for QTBUG-60413 and a bunch of others. amends historical f173e217cd. Change-Id: I28140351c4b4759de35e60daf63bc54b82d104ec Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-071-1/+15
|\ | | | | | | | | | | | | Conflicts: tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp Change-Id: Ib6dd965a7eb6f59103e276b3407739147ecd37b2
| * qmake: replace invalid characters in generated bundle identifiersJake Petroules2018-01-051-1/+15
| | | | | | | | | | | | | | | | This problem does not affect the Xcode generator. Task-number: QTBUG-65477 Change-Id: I6194edc5b679edad9ae1a25e35b71e5df9bd4c95 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Rewrite the Info.plist variable replacement handlingJake Petroules2018-01-061-13/+35
|/ | | | | | | | | | This ensures that the same set of variables can be successfully replaced in both the Makefile and Xcode generators. It also switches the default templates to use the Xcode-style ${var} syntax instead of the @var@ syntax for better Info.plist compatibility across generators. Change-Id: Iff330bafd152773aafac9143c4a34e34f92f0ce6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix precompiled headers on Apple platforms, with multiple architecturesJake Petroules2017-04-141-32/+38
| | | | | | | | | | The original commit only added support for GCC and Clang, but not ICC. Amends 73331eeb Change-Id: Id7638cf1b538edb1008fb3aa10754c1f517a994f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-251-3/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/common/msvc-desktop.conf mkspecs/common/msvc-version.conf mkspecs/common/winrt_winphone/qmake.conf mkspecs/features/mac/default_post.prf mkspecs/features/mac/sdk.prf mkspecs/features/qt.prf mkspecs/features/uikit/default_post.prf mkspecs/features/winrt/default_pre.prf mkspecs/winphone-arm-msvc2013/qmake.conf mkspecs/winphone-x86-msvc2013/qmake.conf mkspecs/winrt-arm-msvc2013/qmake.conf mkspecs/winrt-x64-msvc2013/qmake.conf mkspecs/winrt-x86-msvc2013/qmake.conf qmake/generators/win32/msvc_vcproj.cpp src/gui/kernel/qwindowsysteminterface.cpp src/network/kernel/qhostaddress.cpp src/plugins/platforms/mirclient/qmirclientplugin.cpp src/plugins/platforms/mirclient/qmirclientplugin.h src/widgets/util/qsystemtrayicon.cpp tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp tools/configure/Makefile.mingw tools/configure/Makefile.win32 Done-with: Jake Petroules <jake.petroules@qt.io> Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Change-Id: I4be3262d3994e11929d3b1ded2c3379783797dbe
| * Support QMAKE_PRE_LINK and QMAKE_POST_LINK for static libs on unixOrgad Shaneh2017-01-201-2/+10
| | | | | | | | | | | | | | | | | | | | | | prelink was not supported at all for ar. postlink was done for most cases, but missing in one particular ar invocation. Task-number: QTBUG-57276 Change-Id: Ic72c42a9502c97d7111b3f3941b387024d46a27d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * don't pass qmake configure arguments to sub-projectsOswald Buddenhagen2017-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | the arguments after '--' are by definition meant only for the top-level project, as that's where configure is invoked from. passing them to sub-projects just adds noise to the make output and misleads users. note that this specifically does not support qmake -r, which will break if the subprojects rely on the arguments being absent. this isn't a problem, because the qt build doesn't support qmake -r anyway. Change-Id: I7ecff6212ce3137526005fc324a4a7ae45e3345e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-09-151-15/+44
|\| | | | | | | | | | | | | | | | | Conflicts: configure.json mkspecs/macx-tvos-clang/qmake.conf mkspecs/macx-watchos-clang/qmake.conf Change-Id: Iaf32339ace59dff9ed344972472744c55d75025c
| * Enable precompiled headers on iOS, tvOS, watchOSJake Petroules2016-09-021-15/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The actual blocker for precompiled headers is not the iOS/tvOS/watchOS platforms, but the way qmake handled multiple-architecture builds on Apple platforms. This patch allows multi-arch builds to be performed while using precompiled headers. Since df91ef3d6c55692a0236f67b6c6b134a3bf84098 (April 2009), Clang has had support for PCH files in the driver, which allows to use the -include flag to automatically translate to -include-pch. We can then take advantage of the fact that the -include option is allowed to not be separate from its argument, which lets us take advantage of -Xarch to specify a per-architecture precompiled header file. This is done through some magic in the qmake Makefile generator which "multiplexes" the PCH creation rule across multiple architectures and replaces a series of tokens with the proper precompiled header paths and architecture flags at usage point. Change-Id: I76c8dc9cda7e218869c2919f023d9b04f311c6fd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-08-311-1/+1
|\| | | | | | | Change-Id: I843994939f126ced22f7fe978ec4403f599fc7c9
| * fix argument order in recursive qmake invocationsOswald Buddenhagen2016-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | the inherited arguments may contain the '--' argument, which turns additional arguments into configure arguments. the simplest fix for that is injecting additional arguments at the front, not at the end. Change-Id: I7cc00a42f0148e5ccbbeda2ad59fa8c63749f02d Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | qmake: Use correct CFBundleExecutable in framework bundlesJake Petroules2016-08-261-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug where joined device and simulator builds would get for example, QtCore_iphonesimulator as the CFBundleExecutable. According to Apple: "For frameworks, the value of this key is REQUIRED to be the same as the framework name, minus the .framework extension." This does not affect the ability to load a framework whose executable name differs from the bundle name (as is the case for simulator builds), as the application will be linked to the correct framework executable at link time by specifying (for example) the linker flag: -framework QtCore,_iphonesimulator Change-Id: Ib7614670d0620e0235cd7e2606d42dd034a90c68 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | qmake: tighten up isFramework check so it doesn't match plugin bundlesJake Petroules2016-08-251-1/+3
| | | | | | | | | | | | | | | | | | | | Plugin bundles are not frameworks, so this fixes the case where a lib template with plugin and lib_bundle in the CONFIG would be mistaken for a framework bundle, which has a different filesystem layout and handling. Change-Id: I9ce9daf22d4e3de70bfe7bc8bb219068de0bca42 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | qmake: Add shallow bundle supportJake Petroules2016-08-251-32/+48
|/ | | | | | | | | | | | | | This is a prerequisite for properly constructed framework bundles. On certain Apple platforms (iOS, tvOS, watchOS), bundles are used in "shallow" format, meaning that the directory structures are flattened compared to the one used in macOS bundles. shallow_bundle allows the difference to be expressed independently of the platform. Note that the term "shallow bundle" is used by Apple in Xcode internals. Change-Id: I1189c52b0ea66843c313783176c11cc2af97ad25 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* add ProStringList::join(ProString) overload and make use of itOswald Buddenhagen2016-05-241-2/+3
| | | | | | | | this introduces an ambiguity, so some char* arguments need explicit QString construction now. Change-Id: Ic3919a1fa9419bbb3b57dd1aa7eb95643ee59e53 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-02-111-8/+8
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qfilesystemwatcher_win.cpp src/corelib/plugin/plugin.pri src/plugins/platforms/cocoa/qcocoaaccessibility.mm tests/auto/corelib/tools/qlocale/tst_qlocale.cpp Change-Id: Id6824631252609a75eff8b68792e4d10095c8fc1
| * qmake: use QString::replace() overloaded with QLatin1StringAnton Kudryavtsev2016-02-041-8/+8
| | | | | | | | | | | | | | | | | | instead of QStringLiteral, QString, const char*. Results: reduce .rodata, prevent re-creation of QString. Change-Id: Ie2e3089974c42e6733457bbe58521bccd1da3a53 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | qmake: eradicate Q_FOREACH loops [needing qAsConst()]Marc Mutz2016-01-281-2/+2
| | | | | | | | | | | | | | | | | | ... 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 [const-& returns]Marc Mutz2016-01-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 range-for loops. The functions QMakeProject::values(), QMakeMetaInfo::values() and QHashIterator::value() all return by const-reference, so they can be passed to range-for without further changes. Change-Id: Ic3b39ed8ff8cd7a6f287f1aa9d61a1acd67d7aaa Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Add Intel copyright to files that Intel has had non-trivial contributionThiago Macieira2016-01-211-0/+1
| | | | | | | | | | | | | | | | | | I wrote a script to help find the files, but I reviewed the contributions manually to be sure I wasn't claiming copyright for search & replace, adding Q_DECL_NOTHROW or adding "We mean it" headers. Change-Id: I7a9e11d7b64a4cc78e24ffff142b506368fc8842 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>
* fix the trailing-backslash-in-DESTDIR-on-mingw workaroundOswald Buddenhagen2015-10-141-5/+7
| | | | | | | | | | | | at least the mingw version we use now interprets the sequence \# as a literal hashmark, which completely defeats the previous hack. the new hack escapes the backslash with another backslash, which appears to work. however, make does *not* remove the additional backslash, so the result is a bit ugly. Change-Id: I591a2be443880b162094d04e5a5e624216b59311 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Stop generating implicit suffix rules in MakefilesTor Arne Vestbø2015-10-091-11/+0
| | | | | | | | | | | | Suffix rules are the old-fashioned way of defining implicit rules for make. We don't need them as we generate explicit rules for all sources we build. [ChangeLog][qmake] Makefile output no longer contains implicit suffix rules, as all sources are built using explicit rules. Change-Id: I4ecfa5b80c8ae33aea8730836f3baf99dd4951dd Task-number: QTBUG-30813 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Distinguish between Objective-C and Objective-C++ sourcesTor Arne Vestbø2015-10-091-33/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of lumping both Objective-C (.m) and Objective-C++ (.mm) sources into the same pile, passing them on to the same compiler as for C++ (CXX), with the C++ flags (CXXFLAGS), we follow Apple's lead and treat them as variants of the C and C++ languages separately, so that Objective-C sources are built with CC and with CFLAGS, and Objective-C++ sources with CXX, and CXXFLAGS. This lets us remove a lot of duplicated flags and definitions from the QMAKE_OBJECTIVE_CFLAGS variable, which in 99% of the cases just matched the C++ equivalent. The remaining Objective-C/C++ flags are added to CFLAGS/CXXFLAGS, as the compiler will just ignore them when running in C/C++ mode. This matches Xcode, which also doesn't have a separate build setting for Objective-C/C++ flags. The Makefile qmake generator has been rewritten to support Objective-C/C++ fully, by not assuming that we're just iterating over the C and C++ extensions when dealing with compilation rules, precompiled headers, etc. There's some duplicated logic in this code, as inherent by qmake's already duplicated code paths, but this can be cleaned up when C++11 support is mandatory and we can use lambda functions. Task-number: QTBUG-36575 Change-Id: I4f06576d5f49e939333a2e03d965da54119e5e31 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* remove support for CONFIG+=compile_libtoolOswald Buddenhagen2015-10-011-30/+7
| | | | | | | | | | | | | | "why not use libtool?" -- sam "srsly dude?!" -- ossi [ChangeLog][qmake] Support for CONFIG+=compile_libtool was removed. Use CONFIG+=create_libtool and/or custom compilers instead. in addition to its utter insanity and superfluousness, this feature was apparently quite broken anyway (QTBUG-35745). Change-Id: I8147a2953f5f065735ae3a2206cd5d33a7c1809a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove references to $$QMAKE_CYGWIN_EXEOswald Buddenhagen2015-10-011-2/+0
| | | | | | | | | it would cause the unix generator to set TARGET_EXT, but that wasn't used anywhere. so remove the dead code. if it ever gets re-introduced, it will be as QMAKE_EXTENSION_EXE. Change-Id: I44ce3e612651fd229177e37ab6c8879cd8c474b7 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix race in debug_and_release builds of static libs for UnixJoerg Bornemann2015-09-221-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Consider a debug_and_release build of a static library. Set DESTDIR to different values for debug/release. Let TARGET be the same for debug/release. Now qmake would generate code in Unix Makefiles like this: rm mylib.a ar mylib.a ...objects... rm debug/mylib.a mv mylib.a debug/mylib.a and for release analogous. This clashes when building in parallel. This patch resolves this conflict by reducing the commands to: rm debug/mylib.a ar debug/mylib.a ...objects... We believe that every ar implementation that's in use for Qt is able to operate on files in subdirectories. [ChangeLog][Important Behavior Changes][qmake][Unix] QMAKE_POST_LINK steps of static libraries are now required to operate on $(TARGET) in $(DESTDIR) instead of $$OUT_PWD. This matches the Windows backends. Task-number: QTBUG-48287 Change-Id: I192f488ed74c56bc32862426d9e9d4237d9b8135 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* don't pretend that non-mac supports relative QMAKE_SONAME_PREFIXOswald Buddenhagen2015-09-171-1/+1
| | | | | | | | unlike in DT_RPATH/DT_RUNPATH and DT_NEEDED, $ORIGIN & co. cannot appear in DT_SONAME. Change-Id: I4da23f8419806bdc05d6844ce3397ef43b82914c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-08-261-1/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/snippets/code/doc_src_qmake-manual.pro qmake/doc/src/qmake-manual.qdoc src/corelib/io/qstorageinfo_unix.cpp src/corelib/tools/qbytearray.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/io/qprocess/tst_qprocess.cpp tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp tests/auto/network/access/qnetworkreply/BLACKLIST Change-Id: I9efcd7e1cce1c394eed425c43aa6fce7d2edf31c
| * Mac: Remove invalid bundle identifier charactersMorten Johan Sørvig2015-08-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Valid characters are (A-Z,a-z,0-9,-,.). It is unlikely that we will see anything more exotic than '_' in bundle/library names, go ahead and replace that character only. Task-number: QTBUG-46824 Change-Id: Ia97b7cd6247f40a970b4919363ffb66fb347186c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| * fix quoting in plist creationOswald Buddenhagen2015-08-181-1/+1
| | | | | | | | | | | | | | | | unlike everywhere else in this file, destdir is not pre-quoted here. Task-number: QTBUG-47775 Change-Id: Ia5b0c56bbdd3eb095f81b0f615d68a338ffa52c5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | iOS: Refactor xcodebuild exclusive build logic into standalone makefileTor Arne Vestbø2015-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | Instead of going to qmake to generate the makefile that we want, we write the makefile directly and include it from the generated makefile. This leaves us with a single top level makefile for handling exclusive builds through xcodebuild, and covers all the various build configurations in a unified manner. It also allows for improved test device handling. Change-Id: I66851f181ac4da2c8938645e0aa95ffa0fee33c7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-031-11/+12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qnamespace.qdoc src/corelib/io/qwindowspipereader.cpp src/corelib/io/qwindowspipereader_p.h src/corelib/statemachine/qstatemachine.cpp src/corelib/statemachine/qstatemachine_p.h src/plugins/platforms/xcb/qxcbconnection.h tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp tests/auto/tools/qmake/tst_qmake.cpp tests/manual/touch/main.cpp Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
| * move symlinking loop into the symlink container emptiness conditionalOswald Buddenhagen2015-05-201-10/+11
| | | | | | | | | | | | | | | | it obviously makes no sense to set up the loop if the container is empty. as we now have that conditional anyway ... Change-Id: I6d95c0102734852443c188012bfcb076d879581e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * bundles: create Versions/Current only if versioned resources are presentOswald Buddenhagen2015-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | QMAKE_FRAMEWORK_VERSION has a fallback to VER_MAJ (which derives from VERSION), so it's pretty much always set, thus defeating the previous check. amends 6cb495de. Task-number: QTBUG-46215 Change-Id: I2c5560c469617ebeab978e4de78df00baf38d49d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | qmake: Place Info.plist in correct location for plugin bundlesTor Arne Vestbø2015-05-241-6/+6
|/ | | | | | | | Like application bundles on OSX, the plugin bundle has its Info.plist in the Contents directory. Change-Id: I216fa79857924beb0e9c5fcc4a8d06b197a3f383 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* make QMAKE_FRAMEWORK_VERSION work independently of TEMPLATEOswald Buddenhagen2015-04-271-7/+13
| | | | | | | | | QMAKE_BUNDLE_DATA itself does as well, and it can refer to versioned resources. Change-Id: I3d9bf23c2ff81dbb1cd929f3f0e0ce1e67f3258a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* automatically distclean internally generated artifactsOswald Buddenhagen2015-04-231-1/+3
| | | | | | | specifically, .prl, .pc, and .la files, and QMAKE_SUBSTITUTES outputs. Change-Id: I27685125668f0ec2aa81a8f003d3605accf2ab36 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix distclean target for plugins under unixOswald Buddenhagen2015-04-231-2/+2
| | | | | Change-Id: I5ebaba8575dfac9597e1ead92d42955ff626e1b1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make diff between aux and app TEMPLATEs smallerOswald Buddenhagen2015-04-231-5/+4
| | | | | | | | people may use extra compilers which refer to CXXFLAGS & co., so set them up "as normal". Change-Id: I858ca63370a7aed66e04f5417da078b896feefc4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make fileFixify() calling convention somewhat saneOswald Buddenhagen2015-04-211-3/+3
| | | | | | | | | | instead of allowing arbitrary input and output base paths, restrict them to the project input and output dirs (in any permutation), which are the only cases ever used anyway. this permits much clearer call sites, and allows later optimizations. Change-Id: I48d149a4417af5c858e66ec57c476a5bc6b17f17 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-311-5/+6
|\ | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| * Fix QMAKE_INFO_PLIST regression with relative pathsJohn Brooks2015-03-131-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In de5553aa, qmake was fixed to resolve QMAKE_INFO_PLIST based on the current pwd to fix QTBUG-21267. This fix was lost as part of 8c138054 in 5.4. This fixes the error: "WARNING: Could not resolve Info.plist ..." when using qmake for shadow builds on OS X. [ChangeLog][qmake][OS X/iOS] Fixed QMAKE_INFO_PLIST path resolution for shadow builds Change-Id: Icb42b2b3a44856f9b9a86a008081a3353951640d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | centralize setup of shell-related variables in spec_post.prfOswald Buddenhagen2015-03-061-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it makes no sense to let every spec do that separately, as it's fixed by the generator+shell. putting it into a file which is loaded regardless of the spec also allows us to remove the hardcoded fallbacks from qmake. if somebody overrode the values in their spec for some weird reasons, they'll need to override spec_post.prf. shell-{unix,win32}.conf are now dummies and print warnings. Task-number: QTBUG-37269 Change-Id: I66c24fb4072ce4d63fdbfc57618daa2a48fa1d80 Reviewed-by: Jochen Seemann <seemann.jochen@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>