summaryrefslogtreecommitdiffstats
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* Fix warning about headerpad_max_install_names ignored when using bitcodeJake Petroules2016-08-314-4/+6
| | | | | | | | Actually enables headerpad_max_install_names in the darwin-g++ mkspec as previously it was (presumably accidentally) cleared. Change-Id: I4b2e5a0dcf38658cfe35bc0e5f24769c80f4d877 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Provide better QMAKE_RPATHDIR defaults on Apple platformsJake Petroules2016-08-312-1/+8
| | | | | | | | | Now QMAKE_RPATHDIR also includes @executable_path and @loader_path on Apple platforms, and omits any others on iOS, tvOS, and watchOS since they can't use paths outside the application bundle. Change-Id: Ia8f76ebcddd51f44eca482a51ce1710369c8df10 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-08-3118-83/+153
|\ | | | | | | Change-Id: I843994939f126ced22f7fe978ec4403f599fc7c9
| * Move ios_devices.pl into uikit folderMike Krus2016-08-303-4/+4
| | | | | | | | | | | | | | Was left behind in previous merges Change-Id: Ic30cc2b234b904ad819c4e3e57804ac6e58ec1e9 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * de-duplicate code relating to evaluation of 'negative' flagsOswald Buddenhagen2016-08-301-12/+5
| | | | | | | | | | Change-Id: I3fe4816719d9b2885319a1bb516cfb137f13e3f8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * remove pointless export from qtConfHandleLibrary()Oswald Buddenhagen2016-08-301-1/+0
| | | | | | | | | | | | | | | | | | | | that variable is not modified in this scope, so there is no point in exporting it here. it was probably a leftover from an earlier version. amends c0cc50520. Change-Id: Ic6f93d8c38d547308aa88ef337fe49bda004b337 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * make qtConfOutputVar() a tad less crypticOswald Buddenhagen2016-08-301-3/+3
| | | | | | | | | | | | | | don't use variables where the value is known. Change-Id: I3ec21441c5b7ee0b028f8f72e05d9e40e6192ecf Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * don't export cached libraries which were in fact not foundOswald Buddenhagen2016-08-301-1/+2
| | | | | | | | | | | | | | amends ce7df6ac7d. Change-Id: I9898e756283a2e2556458bf71b59b0c1c76064ec Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * fix location of injected headers in shadow buildsOswald Buddenhagen2016-08-301-3/+5
| | | | | | | | | | | | | | | | | | they are build-time generated, so they must go to the build dir irrespective of whether we're using pre-synced headers. Task-number: QTBUG-55585 Change-Id: I5f10b35c40b0ae2ddc5568d70e254b787ac3f914 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * fix build with configure -sdk iphonesimulatorOswald Buddenhagen2016-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | we need to suppress another qtConfig(simulator_and_device) check during the configuration phase. amends 60985aa4. Change-Id: Iae279d282d47b4c254b7a6f9f33315abe126eff0 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-08-2914-43/+115
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cf53aa21bf0f8fbd13c0ce2d33ddf7bc63d0d76a and 3aaa5d6b32130d3eeac872a59a5a44bfb20dfd4a were reverted because of reconstruction in 5.7. defineTest(qtConfTest_checkCompiler) in configure.pri is smart enough to cover the case in a9474d1260a8c8cc9eae14f2984098919d9684e5. DirectWrite: Fix advances being scaled to 0 Since 131eee5cd, the stretch of a font can be 0, meaning "whatever the font provides". In combination with ec7fee96, this would cause advances in the DirectWrite engine to be scaled to 0, causing the QRawFont test to fail. Conflicts: configure mkspecs/features/uikit/device_destinations.sh mkspecs/features/uikit/xcodebuild.mk src/corelib/global/qglobal.cpp src/corelib/global/qnamespace.qdoc src/plugins/platforms/cocoa/qcocoamenuitem.h src/plugins/platforms/windows/qwindowsservices.cpp src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp src/widgets/kernel/qapplication.cpp tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp Change-Id: I4656d8133da7ee9fcc84ad3f1c7950f924432d1e
| | * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-293-3/+12
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/plugins/platforms/winrt/qwinrtclipboard.cpp Change-Id: Ic6d58be3d1ed2bb507f2ba06c82361afd9f9ddb9
| | | * Mark Clang 3.9 as warning-freeThiago Macieira2016-08-271-2/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: Id75834dab9ed466e94c7ffff1444b71f29f49afd Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| | | * winrt: Add support for version requirements for MSVC2015Maurice Kalinowski2016-08-252-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we hardcoded the minimum windows version to the initial Windows 10 release. However features have been added which require a higher SDK version (eg drag and drop). Deploying such a package might fail during distribution to consumer devices. Hence introduce WINRT_MANIFEST.minVersion and WINRT_MANIFEST.maxVersionTested as variables for the manifest file. If nothing is specified, both values will be set to the UCRTVersion environment variable, implying the development setup from which qmake has been invoked. Change-Id: I1dcf1e75c67c4ab2fd5a3fdcc32c8783a336e6ff Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-256-8/+60
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/mimetypes/qmimeprovider.cpp src/corelib/mimetypes/qmimetype.cpp Change-Id: Ib483ddb6bfc380e7c8f195feca535703814c3872
| | | * fix conditions relating to host_build in non-cross buildsOswald Buddenhagen2016-08-242-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when it comes to compiler flags (be it warnings or include paths), it doesn't matter whether we building/using bootstrap libraries, but whether we are actually cross-building. amends c55bdc271f and d8be8110a. Change-Id: Idf988107e9cccc486672c0ee70dc9bdf8eab9d8c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | | * iOS, mkspec: update UUID parsing to support Xcode 8 betaRichard Moe Gustavsen2016-08-243-3/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "simctl list devices" has changed output format in Xcode 8 beta to include additional information placed inside parentheses for each device. And this confuses the scripts we use to parse and find UUIDs. Instead of making the inline scripts even longer and more complex, this patch will factor most of it out to a separate perl script that reads out device information on json format and parses the UUID. Change-Id: I3cd4dc276ecda030fda1932073c8bf1e0bc85deb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| | | * Xcode: Don't enable document versioning debuggingTor Arne Vestbø2016-08-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It results in passing an option on the command line that e.g. the QCommandLineParser doesn't understand. Change-Id: Ied08c930fab479b6432f025dfe861bdf22c513e6 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-185-24/+29
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/xcb/qxcbintegration.cpp Change-Id: I2d71d06a55f730df19ace0dd3304238584a0497f
| | | * Fix missing qmlplugindump_wrapper.sh (debug_and_release)J-P Nurmi2016-08-161-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtPrepareTool() must be called outside a build pass, as it protects against concurrent wrapper creation by omitting it during build passes. Change-Id: I7cf080cf78d1099e4893a204ea40d8c6bc63af58 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| | | * Revert "Android: use gold linker"BogDan Vatra2016-08-162-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems there is a configure test which should enable it. This reverts commit 7e4f0ad9616fd2a6a736d318cffd162f9683a34f. Change-Id: I39c594e5e779732d2f5954b42e266a1eaa1be3f0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| | | * Android: use gold linkerBogDan Vatra2016-08-152-2/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: Ie09430cd02d431abc33af2ea79606f43882b7ccd Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | * Android: Use -gcc-toolchain for clang linker commandBogDan Vatra2016-08-154-5/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: I0434d806dd9dafa12186c989e3b11964e41487fe Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | Fix missing plugins.qmltypes in static buildsJ-P Nurmi2016-08-172-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | plugins.qmltypes should never be built into resources, but always deployed on the file system so Qt Creator can read it. Task-number: QTBUG-52297 Task-number: QTBUG-52299 Task-number: QTBUG-52940 Change-Id: Ieadb82bcb71dd4fb769fa0b7d15ec74e12ce7b42 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * | | don't cache test result after pre-dep failureOswald Buddenhagen2016-08-251-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | there is no point in doing that, as we don't load it in that case anyway. in fact, it would lead to caching a new result in every run. Change-Id: Ia5cb27fa8a5d705d7f32a785b1e3b944f92d8929 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | don't cache results of build_parts and skip_modulesOswald Buddenhagen2016-08-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as these tests do nothing but validating the command line, caching the result is more confusing than anything else. also make the tests silent, so they don't clutter an otherwise fully cached configure run. Change-Id: Ifc3d65278769b36a056650f077fd6274a7e192e7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | clean up qconfig/qmodule.pri handling in configureOswald Buddenhagen2016-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of saving the files away and restoring them afterwards, use the new and shiny discard_from() function to throw away everything the files might contain. strictly speaking, this is not precise, as the pris may also use *=, -=, and possibly other operations which cannot be trivially undone, but the purpose is essentially to discard the special outputs of some features which may affect subsequent tests, for which this is sufficient. as a side effect, the failure to load qmodule.pri is not fatal any more (like for qconfig.pri), to save the pointless effort of ensuring that it exists. Change-Id: I07625b60c4f2e27b21206b2c16d24ab111737395 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | remove extra empty line before configure reportOswald Buddenhagen2016-08-251-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id985e4738dda89e4d1af1ceccda33d830316e66a Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | Remove unnecessary compiler and warning flags from UIKit mkspecsJake Petroules2016-08-261-23/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All of these flags were blindly copied from Xcode and all of them are not needed because they are unnecessary or at the very least are for no reason specific to iOS/tvOS/watchOS. * -fvisibility=hidden, -fvisibility-inlines-hidden - handled in common/gcc-base.conf * -fpascal-strings - a Mac OS Classic legacy, no one uses these * -fmessage-length=0 - formatting option, not needed * -fexceptions, -fasm-blocks - these are on by default and not needed All explicitly enabled warnings are enabled by -Wall, which is handled in common/gcc-base.conf. All explicitly disabled warnings should not be disabled because we simply do not do this anywhere else in qmake. Change-Id: Ifb9b2ff100837c7cf5888493a6413c972609598d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | | | qmake: handle QMAKE_PLUGIN_BUNDLE_NAME in resolve_target.prfJake Petroules2016-08-251-1/+11
| | | | | | | | | | | | | | | | | | | | Change-Id: I532dcc4a6595f8b3c8371225cc4fb46fe38d8762 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | | qmake: Add shallow bundle supportJake Petroules2016-08-253-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Remove obsolete mkspecs for macOS targetsJake Petroules2016-08-2315-389/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macx-g++40 and macx-g++42 refer to very old versions of GCC that virtually no one should be using, and macx-llvm refers to the transitionary LLVM-GCC toolchain that is long gone from Xcode. Change-Id: Id22ea417515b257babc5ad2a60c8f1fb6d6d1956 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | | Reorder directives in macOS mkspecs to match iOS, tvOS, and watchOSJake Petroules2016-08-226-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic365f66908b97a18c72b732b73b65d77a28e91be Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | | Remove strange INCLUDEPATH from tvOS and watchOS mkspecsJake Petroules2016-08-222-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was probably a leftover that slipped past review for tvOS, and then got accidentally carried over to watchOS. They serve no purpose as there are no such named directories, nor does iOS have anything similar. Change-Id: If2a0f592e83e07db1f3aace320e73046e824994b Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | | Move common/ios configurations into common/uikitJake Petroules2016-08-225-9/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | These actually affect all UIKit platforms (tvOS, watchOS), not just iOS. Change-Id: I2b45ebecb10d11e33d301071093b5342ce101816 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | qmake: Also add bitcode flags to linkerJake Petroules2016-08-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes errors linking against Qt when built as shared libraries and with bitcode enabled (default on tvOS and watchOS). Change-Id: I3eb3bb0b9615e0bc41e43ffae8645248dbf803c6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | qmake: enable bitcode also for iOSJake Petroules2016-08-193-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | It's optional but default in Xcode, and will probably become required Change-Id: I6917a9cf15b48dbaee57f1a92ea47d68fb3c253a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | | Add support for Apple watchOSJake Petroules2016-08-1912-2/+153
| | | | | | | | | | | | | | | Change-Id: I3f9e00569458a463af2eaa5a3a16a6afd1e9c1ea Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | | fix up detection code for compiler defaulting to c++98Oswald Buddenhagen2016-08-191-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove the unconditional CONFIG+=c++11 from default_pre.prf, so the change actually has any effect - fix up the description fields somewhat this amends 091df96fb8, which was rushed in without maintainer review. Change-Id: I88b859d6e2f0fe3d6a4771afe464a7c445e7b47b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | add configure test result cachingOswald Buddenhagen2016-08-191-0/+71
| | | | | | | | | | | | | | | | | | Started-by: Lars Knoll <lars.knoll@qt.io> Change-Id: I29bafc5913cf95d9908dbcdd9597df2258b69837 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Remove useless guards around #define's in qconfig.hLars Knoll2016-08-191-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are not meant to be overwritten by command line defines anyway. Bad things could happen if they are not in sync with the values in the pro files. If you want to change them, reconfigure Qt. Change-Id: Ic456e54b97e6909f01a4f4be33e3d7e2b2571e80 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Don't define QT_OPENGL_ES_2* in opengl.prfLars Knoll2016-08-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Defining QT_OPENGL_ES_2 would only lead to conflicts with defines from qconfig.h. QT_OPENGL_ES_2_ANGLE also moves to the .pri. QT_OPENGL_ES_2_ANGLE_STATIC is not used and is removed altogether. Change-Id: I614fb00525ac696e066ac8328bb9bf61fca08a01 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Use qtConfig throughout in qtbaseLars Knoll2016-08-1923-58/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new qtConfig macro in all pro/pri files. This required adding some feature entries, and adding {private,public}Feature to every referenced already existing entry. Change-Id: I164214dad1154df6ad84e86d99ed14994ef97cf4 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Rework privateFeatureLars Knoll2016-08-191-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | privateFeature would add QT_NO_FEATURE to the DEFINES in the private .pri file, which was somewhat inelegant. Additionally, it would add the feature to the _public_ QT_CONFIG variable, which was plain wrong. Replace the implementation with the one just introduced for publicFeature, with the difference that the features are written to the private files instead. As this entirely disposes of the old system, all usages in the project files need to be replaced atomically as well. Change-Id: I506b5d41054410659ea503bc6901736cd5edec6e Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Add support for safe feature checking at compile timeLars Knoll2016-08-192-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a qtConfig(feature) function to qmake, and a QT_CONFIG(feature) macro. These can safely check whether a certain compile time feature of Qt is enabled or not. For this to work the feature has to have a publicFeature or privateFeature output in the configure.json file. In pro files, please use the qtConfig(feature) test function instead of checking contains(QT_CONFIG, feature), as the latter will be unreliable with the upcoming modularization (it requires a load(qt_module_config) before doing any such checks). Note that feature names are now lowercase, and identical (except for hyphens versus underscores currently) in the pro and c++ files. This makes the logic easier to follow, as we avoid all double negations, and most importantly, QT_CONFIG and qtConfig are implemented in a way that you'll get a build error for a mistyped or non-existent feature. This will also prevent accidental use of a widget feature in gui in the future. This gives us complete symmetry between the handling in pro and c++ files. Change-Id: I60404f97953724e639ffb6386cce2e8b1e4b735a Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Improve library version handlingLars Knoll2016-08-191-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Output the version as a define into the private config header as a define using a hex number. Like that we can easily do version checks on libraries using the QT_LIBRARY_VERSION(lib) and QT_VERSION_CHECK() macros. Change-Id: I6dc4ac6550886ca95c5542b6e75cd933ed079d76 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | sync timestamps also for forwarding headers to generated onesOswald Buddenhagen2016-08-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this wasn't possible when these headers were still generated by syncqt, as the targets may have been still missing at that time. however, as we do that now with qmake, forwarding the timestamps is perfectly possible, and is consistent with what syncqt itself does for "regular" headers. the immediate problem this solves: when the early creation of the forwarding headers in qtbase.pro is removed, they get created only when corelib.pro is processed. their timestamps would be after the timestamps of the already built bootstrapped libraries. if now the project files of these libs get re-created, qmake's not conditional-aware dependency scan would add these headers to the libs' deps, thus causing them to be re-built. the re-built tools would in turn cause all mocs and thus all libraries to be re-built. this would be particularly problematic if it happened between 'make' and 'make install' due to another bug ... Change-Id: I8d597f1f925369d93aaf3cc6c02e954eeae003a4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | fix relative paths in forwarding headers to generated privatesOswald Buddenhagen2016-08-191-1/+2
| | | | | | | | | | | | | | | Change-Id: I837407503ef81f1059a7d531d9e57a67059855c8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | employ QMAKE_USE: LIBS += -lfooOswald Buddenhagen2016-08-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this switches all instances of LIBS[_PRIVATE] += -lfoo where a config tests exists for foo. this removes some code duplication between tests and project files (in case of conditionals), and ensures that the projects always actually use the libraries configure has found. Change-Id: Ia7e80c8db5f329290c7f1a4e03a8bf78882a687e Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Add method to encapsulate dependencies to external librariesLars Knoll2016-08-191-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding an entry that represents an external library to the QT_USE[_PRIVATE] variable will cause qmake to lookup the required compiler/linker flags from the configuration system, and add them to the module that is being compiled. Change-Id: I309aa2749ddf4fab13ab8fdd26e8ab2123719ea8 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>