summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
Commit message (Collapse)AuthorAgeFilesLines
* WinRT: Provide qmake feature for generating a package manifestAndrew Knight2014-01-241-0/+121
| | | | | | | | | | | | | | | | | | | | | | This feature (package_manifest) generates a basic application manifest from a template provided by the mkspec or the developer. It is meant to deliver an out-of-the-box build experience without attempting to exhaustively cover all manifest options. It is meant to be a starting point which allows the developer to customize the manifest further. It also becomes the default package manifest generator for Windows Phone, replacing autogen_wmappmanifest. Common variables, such as the target executable, are populated by qmake in the newly created manifest. Default icons are also created if needed, as the build will fail without them. The input manifest can be set by assigning a file name to WINRT_MANIFEST. Additional options are documented in the .prf file. If an existing (non-generated) manifest is already in the directory, it will not be overwritten. Task-number: QTBUG-35328 Change-Id: I57576a17ff9d2b564c0828f815949cb26d276bfd Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* iOS: Enable building of basic testsTor Arne Vestbø2014-01-221-1/+1
| | | | | | | Allows us to sanity check the iOS build in the CI. Change-Id: I16f9bfafef3988dcab6efd3155503ca0d0b4d1d8 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-203-1/+15
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qstring.cpp src/gui/image/image.pri src/gui/image/qimage.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/qeglfshooks_stub.cpp tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp Change-Id: I3b9ba029c8f2263b011f204fdf68c3231c6d4ce5
| * clear OBJECTIVE_SOURCES as wellOswald Buddenhagen2014-01-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | the newly added mac examples use it, so it needs to be grounded. a more generic solution would be clearing out QMAKE_EXTRA_COMPILERS, but many prf files will be loaded after us, possibly nullifying our effort. Task-number: QTBUG-35680 Change-Id: I3aba7595898baac14bd41e9fae2ff24507187c6a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * REG: Fix make install on library projects on AndroidEskil Abrahamsen Blomfeldt2014-01-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a partial revert of 39e04b022227c52c9e6aac1942919f68247e1394. The original change moved the special make install target path logic into the logic for the app template to make it possible to remove the condition that excluded builds inside the Qt directory. This was to make it possible to build examples in the Qt directory for Android without moving them. However, this broke user library projects, specifically when they were part of a subdirs project and should have been automatically installed into the Android package. This patch brings back the logic but only enables it for library projects, meaning that the only examples inside Qt which cannot be built correctly are library projects (which didn't work anyway). [ChangeLog][Android] Fixed regression in "make install" on library projects on Android so they can be used inside subdirs projects again. Task-number: QTBUG-34781 Change-Id: Iabf53ed68845b2ddd4ae66656e1372c96185660e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
| * MIPS DSP build system fix and additional optimizations.lpapuga2014-01-141-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed MIPS DSP portion of the mkspecs/features/simd.prf file in order to fix the corrupted build system for MIPS platforms. List of the additionally optimized functions from file src/gui/painting/qdrawhelper.cpp: - qt_blend_rgb16_on_rgb16 - qt_fetchUntransformed_888 - qt_fetchUntransformed_444 - qt_fetchUntransformed_argb8565 from file src/gui/image/qimage.cpp: - convert_ARGB_to_ARGB_PM_inplace from file src/corelib/qstring.cpp: - ucstrncmp - toLatin1_helper - fromLatin1_helper Change-Id: I5c47a69784917eee29a8dbd2718828a390b27c93 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | introduce qlalr featureOswald Buddenhagen2014-01-201-0/+49
| | | | | | | | | | | | | | | | this makes it possible to compile grammars at build time. Change-Id: Ia74383c4f29873ee7324bd5f14d72ef14faef460 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add support for using -isystem in qmakeThiago Macieira2014-01-201-1/+2
| | | | | | | | | | | | | | | | | | 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>
* | Don't pass -mfpmath=sse to Clang < 3.4, it's not supportedTor Arne Vestbø2014-01-181-1/+11
| | | | | | | | | | Change-Id: I875f72802d8745488d34f836818b21aafe69dcff Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Replace win32-g++ with mingw scopeKai Koehne2014-01-176-7/+7
| | | | | | | | | | | | | | | | Commit 773dd01 introduced a general mingw platform scope, which is cleaner and more flexible than matching the spec name. Change-Id: Ie3a9cb791a83f7c8a51bc4e23069190c452ab521 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Ensure that the mkspec and source dirs are passed to moc on WindowsThiago Macieira2014-01-161-3/+3
| | | | | | | | | | | | | | | | | | Those paths need not be in INCLUDEPATH: qmake always adds them to the compiler command-line and we should match the behavior if we expand INCLUDEPATH here. Change-Id: I89508d15ac534b54ae873a42c4ad9764408042b5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Automatically turn on SSE2 code generation throughout QtThiago Macieira2014-01-161-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...unless the user passed the -no-sse2 option to the compiler. [ChangeLog][Important Behavior Changes] Qt now automatically generates code for processors supporting SSE2 on i386 platforms. To disable this, pass the -no-sse2 option during Qt configuration. Since this feature has been present on CPUs for 10 years and since Qt no longer checks for runtime support for SSE2, we strongly encourage users to leave the default setting on for best performance. - For Linux distributions that must retain support for CPUs without SSE2, we recommend doing two builds of Qt and installing the SSE2-enabled libraries in the LIBDIR/sse2 directory. Tools, plugins, and examples are not affected. - See discussion on the Qt development mailing list: http://lists.qt-project.org/pipermail/development/2013-November/014085.html Change-Id: I7f9b1f58a9f66b6e5fe295bac15f87d34343695e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Let Apple Clang 5.0 also have -Werror supportThiago Macieira2014-01-141-2/+2
| | | | | | | | | | | | Change-Id: I3abc83617c8f3426e4f5920052281fe13e4e3edc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Fix build with precompile headersAllan Sandfeld Jensen2014-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | Get the CXX compiler using $$QMAKE_CXX instead of ${QMAKE_VAR_QMAKE_CXX} which causes shell syntax errors when combined with the silent flag. Task-number: QTBUG-36159 Change-Id: I26cdbe788a20bd2df1aa3563694648e41c082a2c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Use the QMAKE_CXXFLAGS_WARN_ON variable for setting -WerrorThiago Macieira2014-01-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This would mean we don't pass -Werror when under CONFIG += warn_off. However, that's not the main goal. The main goal of this change is to have -Werror appear *after* -Wall -Wextra. With some compilers, like Clang, this is necessary to have the -Wno-error=foo options work properly. For example, if the -Wfoo warning gets enabled by -Wall, Clang will treat it as an error if the arguments appear in the following order: -Werror -Wno-error=foo -Wall But not if they appear in this order: -Wall -Werror -Wno-error=foo Change-Id: I38c820bffc8277d909391e9bf557db5347836b9c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Add -Werror support for the regular Clang, not Apple'sThiago Macieira2014-01-101-3/+7
| | | | | | | | | | | | | | Base modules already work and produce no warnings. Change-Id: I932d7aaecbe3404f180e185bf1e9fff4d488a05d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-101-1/+1
|\| | | | | | | Change-Id: I99af0bef7f1c931533a324ebcfb27c40ee871a5e
| * make the pkg-config error message more preciseOswald Buddenhagen2014-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | while the meaning of the error message is actually pretty obvious from the context, some people apparently expect an equivalence with their package manager's terminology. Change-Id: Ie7a31887bf5086e5d1d7de7e339a6d08571a4d01 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Move no-pch extra compiler to common featuresAllan Sandfeld Jensen2014-01-082-0/+26
| | | | | | | | | | | | | | | | | | | | | | As we add more classes with RValue ref qualified methods we will need the same _compat trick and no-pch support as QString. This patch moves the extra compiler to precompile_header.prf which is automatically included when pch is used. Change-Id: I422a355fd11f499ce0648a90b0385f2a6f699fcb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-242-13/+55
|\| | | | | | | Change-Id: I2defae1904154283446b069d151c3ef57302ec7b
| * Make wayland-scanner install generated headersJorgen Lind2013-12-231-12/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QtWayland uses QtWaylandScanner to generate c++ files which will be subclassed. This works ok in QtCompositor as it implements the pimple pattern. However, QtWayland has to expose a library called QtWaylandClient as a way to create specialized wayland plugins. These classes don't promise an ABI, and has limited API guarantees, so they subclass the classes generated by the QtWaylandScanner directly. For this library to be possible, we have to install the generated files. Also, it should be possible to use the private API, and that's not possible without the generated files. Change-Id: Id55200fe23652587390dabf84ca846e4f39cf70e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Don't try to build qt_app in release against debug-only Qt buildsTor Arne Vestbø2013-12-211-1/+1
| | | | | | | | | | Change-Id: I575e019db76dadcf7586e18809e6f67545759974 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-161-15/+18
|\| | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformtheme.h tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-051-15/+18
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-ios-clang/features/default_post.prf tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
| | * enable path replacement in installed prl files on all platformsOswald Buddenhagen2013-12-041-17/+18
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-33794 Change-Id: Id0d38715673b8a1c0c034e9c15783eb255c4315b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * properly replace windows paths in installed meta filesOswald Buddenhagen2013-12-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it's bogus in the first place that the meta files contain windows paths, but straightening that out is a prohibitive effort. so instead generate additional s/// commands which take care of these paths. fwiw, the generated s///i command is a gnu extension. but as we are doing this on windows only where we are using our built-in sed command anyway, this should be fine. Task-number: QTBUG-33794 Change-Id: I46fcc598db12816ee56b5371ab184f6277eb3a22 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-052-5/+4
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/sql/drivers/sqlite/qsql_sqlite.cpp Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
| * | don't install qt dlls into lib/ any moreOswald Buddenhagen2013-12-031-0/+1
| | | | | | | | | | | | | | | | | | | | | bin/ is entirely sufficient. Change-Id: Id587e0e97b46aa977dae59baaea02ecc6e64a67a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * | complete implementation of force_debug_infoOswald Buddenhagen2013-12-031-5/+3
| |/ | | | | | | | | | | | | | | | | 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/stable' into devFrederik Gladhorn2013-11-292-4/+5
|\| | | | | | | Change-Id: Ibb342cc5fc55ff9a3f4b3ecbd53936b57bc13e63
| * CMake: Parse the output of new CMake versions.Stephen Kelly2013-11-271-2/+3
| | | | | | | | | | | | | | | | | | As of CMake 3.0, the output of `cmake --version` now has a second line showing that it is maintained by Kitware. Change the version parsing to look only at the first line of output. Change-Id: I347de4c376e0bde25a43a38d59587d9b63f6b43a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * Remove leading '/' from target paths.Stephen Kelly2013-11-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This is inappropriate on Windows, and breaks non-prefix builds there. This is only needed when we calculate a relative path from a sysroot, so only add it in that case. Task-number: QTBUG-34880 Change-Id: I0e3b3d977a7b56649e4ba0077ac574aabf1dc915 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-2622-296/+446
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the conflicts in msvc_nmake.cpp the ifdefs are extended since we need to support windows phone in the target branch while it is not there in the current stable branch (as of Qt 5.2). Conflicts: configure qmake/generators/win32/msvc_nmake.cpp src/3rdparty/angle/src/libEGL/Surface.cpp src/angle/src/common/common.pri src/corelib/global/qglobal.h src/corelib/io/qstandardpaths.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxscreeneventhandler.h src/plugins/platforms/xcb/qglxintegration.h src/widgets/kernel/win.pri tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp tools/configure/configureapp.cpp Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
| * fix header bundling in some framework buildsOswald Buddenhagen2013-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | !build_all is a sufficient condition for bundling headers in both debug and release configurations, as it means that we will likely make only one of the builds, and that needs to be self-contained. Task-number: QTBUG-34575 Change-Id: I1a19e4b619eeff207cfbfd50d3b761053aeaa667 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * use the new "stash" instead of the (anything but) "regular" cacheOswald Buddenhagen2013-11-142-10/+5
| | | | | | | | | | | | | | | | | | | | as this new cache category comes without side effects, we can unconditionally create a cache whereever we are. this allows us to be performant without explicit user action. Task-number: QTBUG-31340 Change-Id: I6b88b20b61e8351aa8cbf94ad3eec65adac6e1d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Check for existence of QML import paths.Morten Johan Sørvig2013-11-141-1/+1
| | | | | | | | | | | | | | | | Filter out module QML import paths that point to nonexistent file system paths. Change-Id: I897ef50593eeb46c6c9eaec27313ec12e6113cb6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * Android: Allow modules to specify permissions/featuresEskil Abrahamsen Blomfeldt2013-11-071-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | Some modules, such as Qt Multimedia, needs special permissions to avoid getting exceptions at run-time. We should apply these by default to the AndroidManifest.xml so that an application using e.g. the camera will work out of the box. Task-number: QTBUG-33953 Change-Id: Ibc1f086d249197b63e7ed1075ae7d54bdd1212f2 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Resolve Qt module deps before determining if QML import scanner is neededTor Arne Vestbø2013-11-051-1/+4
| | | | | | | | | | | | | | | | | | | | The qtAddModules functions resolves deps internally, but doesn't affect the original QT and QT_PRIVATE variables. We need to pick up situations such as the user adding QT += quick, which implies QT += qml through the QtQuick module's dependecies. Change-Id: I14411dbea3e4f7402be404073a3fe8f18dbb165f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * qt.prf: add correct library version when using qmlimportscannerRichard Moe Gustavsen2013-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | We need to add the correct suffix to the libs we add when running qmlimportscanner. Otherwise we will always add release versions of the libs instead of debug versions when generating debug builds. This in turn will confuse the xcode generator that will try to convert the libs in LIBS to native Xcode build variables. Change-Id: I4d9fab49ad9e644e9bfd06caf79fc084bde2a3b7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * Remove android specific qmake variables.BogDan Vatra2013-10-311-12/+0
| | | | | | | | | | Change-Id: Iba2b929ba70588ffcbcc9395501753521cfe5154 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * export QT_NO_<foo> equivalents to the build systemOswald Buddenhagen2013-10-311-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this makes it possible to properly exclude entire subprojects based on the availability of features, rather than stuffing every single source file with #ifdefs. the defines are aggregated from the -qconfig <profile>, -no-feature-<foo> and some other configure flags. usage: load(qfeatures) !contains(QT_DISABLED_FEATURES, textarea): SUBDIRS += textstuff Task-number: QTBUG-28102 Change-Id: I83400632d64312fa4b907e1318dddfe27c432387 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
| * qmake: Pick up default bundle prefix from Xcode preferencesTor Arne Vestbø2013-10-311-0/+9
| | | | | | | | | | | | | | | | | | But still fall back to 'com.yourcompany', just like Xcode does for the initial launch. Change-Id: I89afadefafc254a0014aca197741d42a0199943e Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * dbuscommon.pri: Fix source file dependencyMichael Krasnyk2013-10-301-0/+1
| | | | | | | | | | | | | | | | | | Make already the creation of the generated cpp file depend on the creation of the generated h file, which transitively ensures that the cpp won't be compiled before the h is there. Change-Id: Idd3aec8d72dac341e835a3d1ef8f2986dbc1ab9f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * iOS: Build simulator libraries with suffixTor Arne Vestbø2013-10-301-3/+8
| | | | | | | | | | | | | | | | Makes it possible to join two separate builds, and opens up for using exclusive builds to do this. Change-Id: I87ccbdd55511fdfbef3fe8b581f40525ebf077ed Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * Rewrite qmake's exclusive-build featureTor Arne Vestbø2013-10-257-98/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to compute the default exclusive build directory, eg 'debug', at configure time, and then set OBJECTS_DIR, MOC_DIR, etc to include this hard-coded default exclusive build directory. We then had to run a post- process step where we replaced the 'debug' part with the current actual exclusive build pass, eg 'release', resulting in long-standing bugs such as QTBUG-491 where we end up replacing parts of the build output dirs that were not part of the original exclusive build directory. We now set the OBJECTS_DIR, MOC_DIR, etc defaults in configure like before, but they do not include any exclusive-build information. The exclusive build directory is handled as a separate step in default_post where we adjust all entries in QMAKE_DIR_REPLACE to be exclusive directories. For backwards compatibility the new exclusive build behavior is only enabled for variables named by QMAKE_DIR_REPLACE_SANE, which for Qt itself applies globally to everything but DESTDIR, and for libs and tools also applies to DESTDIR. The reason for leaving out DESTDIR in the general case is because many tests and examples assume the old behavior for DESTDIR. A side effect of including all the other variables for Qt libs and tools is that the PCH output dir will be uniformly set, which has been an issue on Windows in the past. The addExclusiveBuilds function now takes two or more arguments, each argument being the key for an exclusive build, which can be customized eg. using $$key.{name,target,dir_affix}. Passing more than two arguments results in three/four/etc-way exclusive builds, eg debug/release/profile. Exclusive builds can also be combined, eg static/shared + debug/release by making two calls to the function. We also handle individual targets of combined exclusive builds, eg static/shared + debug/release, meaning it is possible to run 'make debug' to build both static-debug and shared-debug. Task-number: QTBUG-491 Change-Id: I02841dbbd065ac07d413dfb45cfcfe4c013674ac Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * xcode: Set QMAKE_XCODE_LIBRARY_SUFFIX from default_postTor Arne Vestbø2013-10-252-2/+3
| | | | | | | | | | | | | | | | | | Otherwise we won't pick up CONFIG+= changes on the command line or from the project file. Change-Id: I6f7e9380f971e6271de5659534e9565024fe041d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * support cleanly querying private modules in qtHaveModule()Oswald Buddenhagen2013-10-251-1/+1
| | | | | | | | | | | | | | | | module names use dashes, but the internal module representation uses underscores, so we must translate. Change-Id: Ib6983d3731e7dae2a4d6232f8a5202390fd425e9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * iOS (OSX): rework how to bundle QML import foldersRichard Moe Gustavsen2013-10-251-24/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, we would copy "$QTDIR/qml" directly into the bundle as "qml". This would cause problems if the user also tried to deploy qml files to a "qml" folder, or if any other file in the bundle ended up with the name "qml" (which is the case for QtDeclarative/tools/qml, where the executable is called "qml"). This patch will instead copy the contents of each import folder into QMAKE_QML_BUNDLE_PATH, which will default to "qt_qml" on iOS and "Resources/qt_qml" on OSX. We also change the implementation to use a post script rather then QMAKE_BUNDLE_DATA for two reasons: 1. Xcode does not like "copy build phases" to copy folders, only files (You cannot even create such a phase from Xcode, although it is possible to force it the way we create project.pbx. But this was error prone) 2. We need to strip away unneeded files from the bundle, like archives (which are linked in statically, not dlopened run-time). Using rsync lets us copy and strip in one operation. Change-Id: I7c2117f6cfbe11efdc272dff71adb0b1e619a5ff Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * make better use of $$MODULE_PLUGIN_TYPESOswald Buddenhagen2013-10-242-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the module project files declare what plugins they need, as that is necessary for automatic android deployment. enable wider usage of this by making the information available from the module .pri files. caveat: the variable is called "types", but is in fact paths, so there can be particular plugins named. use this new facility to replace the egregious hard-coded list of plugin-to-module mappings from create_cmake. possible todo: automate populating DEPLOYMENT (for wince, and whatever else). Change-Id: Ibb9c07cfe2b0008905204cbeb81e9c8e2ae4dc69 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * rewrite handling of private modulesOswald Buddenhagen2013-10-246-123/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of being magic attributes of the main modules, the privates are now proper modules of their own. this cleans up some code paths, is more mappable to other build tools, and enables private modules to depend on other private modules. note that the library path is needed even in the "empty" private modules, as in the framework case that's where headers are found. consequently, the modules need to be explicitly marked with the new "no_link" flag. this required some reorganization of qtAddModule(). Change-Id: I8e4f44a609f8d639cc01bcb658256870a627eb63 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>