summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
Commit message (Collapse)AuthorAgeFilesLines
* Fix building when lex source refers to a file generated by yaccJoni Poikelin2016-11-012-0/+2
| | | | | | | | | | | | | | Scan lex and yacc sources for dependencies as if they were C source code, which is close enough to reality. This will unfortunately result in the generated source files depending on the generated headers, while it should have been the object files created from these sources which have that dependency. But qmake cannot do better, and this is good enough. Task-number: QTBUG-56507 Change-Id: Ic3e1941bf2e2820bfddf99deba854e1e82f83669 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* unset OBJECTIVE_SOURCES and QMAKE_OBJECTIVE_CFLAGS after absorbing themOswald Buddenhagen2016-10-251-0/+2
| | | | | | | | this is a bit easier on the backwards compat code in qt creator, which needs to merge and then de-duplicate the lists itself. Change-Id: I79f9319c26af541f5efa85700878e7ddbd00e2b7 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* don't moc OBJECTIVE_SOURCES twiceOswald Buddenhagen2016-10-251-1/+1
| | | | | | | | | since 9ff1310af, the variable's contents are simply added to SOURCES, and the variable is not cleared. and qmake does not de-duplicate ... Task-number: QTBUG-53905 Change-Id: I3e551d21cbbd2d0cbfbf7aa7efaa5babac112f9d Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* normalize name of plugin default linkage overridesOswald Buddenhagen2016-10-171-2/+3
| | | | | | | | | QTPLUGIN.<foo> is better used with valid variable names, which is not the case when the plugin type contains slashes (plugin subtypes) or dashes (just so). normalize these chars to underscores. Change-Id: Icc93d952b93fef342e2fc93f20e9c5dd010dd734 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* don't strip off plugin subtypesOswald Buddenhagen2016-10-171-1/+1
| | | | | | | | | | | this code is meant to strip off the file name if provided (as the accessibility plugin in qtdeclarative does), but clearly overshot the mark by stripping the subtypes (as needed by qtmultimedia, and soon qtbase as well). use a stricter regexp which matches only names with an extension, which is a Good Enough (TM) approximation. Change-Id: I63afe9c7b1b0ebf4da530dcf558e9c84ae3c85ec Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* fix xcodebuilds without -sdk iphonesimulatorOswald Buddenhagen2016-10-141-7/+11
| | | | | | | | | | | | | | | | the order of the arguments passed to addExclusiveBuilds() determines the name of the CONFIG flag which actually enables the mode. that is historically fixed to iphonesimulator_and_iphoneos and we cannot just change the order. to get around this, add a new "overload" of the function which allows specifying the flag independently from the order of the builds, and make use of it in ios' resolve_config.prf. amends d2b4a789c. Change-Id: Ia3fabea0c0c30beae680b57e75bdcdf35ef6503d Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Skip chmod for separate_debug_info when cross compiling on WindowsSamuli Piippo2016-10-071-2/+3
| | | | | | Task-number: QTBUG-56289 Change-Id: If6dd07182ed77e87865004c14240bf7f0c764772 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Add the ability for qmake to build Xcode asset catalogsJake Petroules2016-09-283-2/+113
| | | | | | | | | | | | | | | This essentially emulates Xcode behavior for QMAKE_BUNDLE_DATA. This is mostly for our own internal use. No documentation is provided. Variables introduced: - QMAKE_ASSET_CATALOGS - QMAKE_ASSET_CATALOGS_APP_ICON - QMAKE_ASSET_CATALOGS_BUILD_PATH - QMAKE_ASSET_CATALOGS_INSTALL_PATH Change-Id: I9577415d637f022d05f301c5a0d799483cd2a963 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fixes issue with iOS when project path has a whitespaceVikas Pachdha2016-09-151-7/+7
| | | | | | Task-number: QTBUG-55505 Change-Id: Ic853ecd46a3cb098fff2904119e9002f3add3b8e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Mark Apple Clang 7.x as warning-free on macOS and (also Clang 3.9) iOSJake Petroules2016-08-311-3/+3
| | | | | | | | iOS was excluded in 09aeda21b902763919c2e0b2b06d09275d136e8c, probably unnecessarily. The build has been found to be warning-free. Change-Id: I81de2fff40938b6ab9f7a6a5b9f08f8a8baadb16 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* 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-251-0/+7
| | | | | | | | | | | | | | | | | 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>
* 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>
* 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>
* configure and mkspecs: Don't try to find xcrun with xcrunGabriel de Dietrich2016-07-211-1/+1
| | | | | | | | | | Since Xcode 8 (beta 2) that tool is no longer available through xcrun. We resort to xcodebuild instead. Change-Id: If9d7b535c1cbac2caae0112b2003283aeff34fb9 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* generalize references to exclusive buildsOswald Buddenhagen2016-07-133-4/+3
| | | | | | | | | | | exclusive_builds_post.prf (via default_post.prf) processes debug_and_release into BUILDS, so .prfs which can rely on being executed later (because they are loaded via CONFIG) can rely on BUILDS and related variables. Change-Id: I5677079ad5145bf493af17b4b60347208572fd21 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* remove redundant condition from private module use warningOswald Buddenhagen2016-07-131-1/+1
| | | | | | | | the whole point of the check is ensuring that the message is printed only once for each sub-project, so !build_pass alone is fully adequate. Change-Id: Ib8f821ead6709efc9bfa935e1d05f8caba02a814 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Add warning when using pkg-config with a Qt build with it disabledSamuel Gaist2016-07-131-1/+4
| | | | | | | | | | | | | This patch adds a warning that will be shown when link_pkgconfig is used in a project but Qt's configuration has it disabled. This can happen when Qt is built before pkg-config has been installed or if it's not detected. This will avoid user losing time trying to make pkg-config work while Qt just ignores it. Change-Id: Ieeff8dd6784b9430cfebef355855ec1be91bc96e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fix installation of debug symbols on Apple platforms.Jake Petroules2016-06-221-2/+21
| | | | | | | | | This follows up ab599a39313c22fd14cc5466cea5c61bbcdbba8e, which did not take installation into account. Task-number: QTBUG-54036 Change-Id: Ic1b3acb8984255dd1ca1c288b7b150814ce9e606 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* fix make -i wreaking havoc in configure tests outside qtbaseOswald Buddenhagen2016-06-221-1/+11
| | | | | | | the tests would inherit MAKEFLAGS, with somewhat predicatble results. Change-Id: Ia17638f6229d0ae86f5558726850040703d90044 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* limit installation of ANGLE translator and preprocessor helper librariesOswald Buddenhagen2016-06-221-1/+1
| | | | | | | | | | | libGLES2 (the only user of these libraries) is built dynamically even in a static qt built when dynamicgl is configured. in this case the static libraries need not be installed. amends 2311997. Change-Id: Ic9bc3937d6ee0d97e0ca7fc96596fa90ebfe8710 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add back osx compatibility check in QMAKE_PLATFORM.Jake Petroules2016-06-161-3/+10
| | | | | | | If macx is present, osx AND macos should be required. Change-Id: I5cd9d41270c741dc314720a1119b163dd17fdfd7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Update for the newest Darwin-family operating systems.Jake Petroules2016-06-151-4/+4
| | | | | | | | | | | - Adapt to the OS X => macOS rename in Q_OS_ macros/docs, qmake scopes, file selectors, etc. - Add new QSysInfo values and MAC_OS_X / __MAC_ / __IPHONE_ values for macOS 10.12 and iOS 9.1 through 10.0. - Update prettyProductName with new macOS "Sierra" codename. Change-Id: Id976530beeafa01b648ebaa16f4a8f0613fcaf75 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix ios device&simulator builds againOswald Buddenhagen2016-06-104-4/+12
| | | | | | | | | | | | | the assumption stated in b67a0836d is actually invalid - configure sets build_all without debug_and_release there. debug_and_release does actually imply build_all, though. to make things less confusing, don't let configure inject iphonesimulator_and_iphoneos into all projects, but handle it like debug_and_release instead. Change-Id: Ib7acdc63308a538862fc603428f81aba60bca08e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Enable -separate-debug-info for mingw toolchainsUlf Hermann2016-05-231-0/+18
| | | | | | | | | | Having the debug info in separate files is very helpful, especially on memory constrained 32bit systems. When the debug info is compiled into the object files, processes can run out of memory when trying to load them. Change-Id: I1808a32e855d6a62e17e1b734c511b31db5f03f1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qpa: Use LIBS_PRIVATE, not LIBS when linking in font database bits.Robin Burchell2016-05-192-2/+2
| | | | | | | | | LIBS_PRIVATE is more correct (these shouldn't be part of the public API), and additionally, using LIBS_PRIVATE also ensures these libraries come last on the link command, which fixes builds using -Wl,--as-needed. Change-Id: I9f2e4e78855a30a53ce9013623597b840a2832bd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6.1' into 5.6Liang Qi2016-05-194-1/+21
|\ | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_winrt.cpp Change-Id: I8edb72f8ba958d80c3d7993b3feaaae782ca8d9c
| * enable example installs for all modulesOswald Buddenhagen2016-05-181-0/+1
| | | | | | | | | | | | | | | | | | so far, each module had to do it in its .qmake.conf. by now, all modules have been adjusted to the expected structure, so we can enable it centrally. Change-Id: I16b4e7581e51bfc54e71d2f7f852858ae0b47281 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * complain about examples which don't install themselves properlyOswald Buddenhagen2016-05-181-0/+14
| | | | | | | | | | Change-Id: I6555d449430111639b084ddc3e4b4bc14b61bc30 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Restore the missing -P option for lex handlingAndy Shaw2016-05-101-1/+5
| | | | | | | | | | | | | | | | | | We don't know why it works, but we've been told that it fixes some builds and we have no reason to think it will break others. Task-number: QTBUG-52998 Change-Id: Iacaa1fb3c49e4d7aafd4167e591ff3724489872e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * make zlib_dependency auto-add QtCore as a private depOswald Buddenhagen2016-05-091-0/+1
| | | | | | | | | | | | | | | | our zlib header includes qglobal.h, so we need the qtcore include dirs, and qtcore is also where the actual code is compiled into. Change-Id: I09f530a1b4e6160438215a6d7223c0771ce94f05 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | QT_CONFIG simplification re debug_and_release and build_allOswald Buddenhagen2016-05-175-11/+7
| | | | | | | | | | | | | | | | don't pretend that these two flags can be set separately - the configures set them in tandem. Change-Id: Ib0beae0152de09026d4627fd3ae0feabd9ce1b81 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Fix running of configure tests when cross compiling on WindowsSimon Hausmann2016-05-171-3/+1
| | | | | | | | | | | | | | | | | | When compiling on Windows to for example Android, we may be using the unix generator, but the make command may be mingw32-make. Task-number: QTBUG-53038 Change-Id: If8d1e1bea733cf1b4ed837c423a34ecfb3cafd1f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Add -Wzero-as-null-pointer-constant to headerclean checkMarc Mutz2016-05-131-0/+10
|/ | | | | | | | | Requested by user(s). Change-Id: Id2c7d67a8cd50f4f83f141cff41ba01e21c3a603 Task-number: QTBUG-45291 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* automate the installation of some more example source filesOswald Buddenhagen2016-05-031-0/+5
| | | | | Change-Id: I61f9f4882c5a7743817059824250958f5ce4a603 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* support directories in COPIESOswald Buddenhagen2016-05-021-4/+20
| | | | | | | | | | this makes it fully consistent with INSTALLS. note that this also removes the file name from the target path when copying files, also for consistency. Change-Id: I69042c9aa1e2cc81f8ff982343ba25688a04abfd Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* add some missing filename expandos to extra compilersOswald Buddenhagen2016-05-021-1/+1
| | | | | | | | | | | - QMAKE_FILE_IN_EXT as an alias for QMAKE_FILE_EXT, for consistency with QMAKE_FILE_IN_BASE - QMAKE_FILE_IN_NAME to make pairing _EXT/_BASE to get a full name unnecessary (finally ...), and make use of it - QMAKE_FILE_OUT_PATH, because i'll need it Change-Id: I3d91ddb84f9cce52a665d562da11d165c92550c8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove redundant OTHER_FILES assignmentsOswald Buddenhagen2016-05-021-3/+0
| | | | | | | | newer versions of qt creator understand QMAKE_EXTRA_COMPILERS and INSTALLS, so there is no need to list the files twice. Change-Id: Iccf3cc3248daf3422b8c366c2eb2d2f46c5f08d1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't apply warning options to host buildsOswald Buddenhagen2016-04-291-0/+4
| | | | | | | | | | the host compiler's version is not determined, so we cannot make any assumptions about its capabilities. Task-number: QTBUG-53017 Change-Id: I939fd7402b5daac73f2195b9d8763b9008bc7ea4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Rolf Eike Beer <eb@emlix.com>
* make use of COPIESOswald Buddenhagen2016-04-271-17/+2
| | | | | | Change-Id: I34965cada901fce3cf300a99fa65d4d3f9bd4578 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* add support for copying arbitrary filesOswald Buddenhagen2016-04-272-1/+42
| | | | | | | | | | | | | | | | | this adds file_copies.prf, which understands the variable COPIES, which works analogously to INSTALLS. i've been holding this off for a long time, as it is not without caveats. however, similar hacks are proliferating all over the code base, so it's time we formalized it. in fact, it's the easiest way to fix some nasty shadow build problems, which is why i'm adding this on the stable branch. Task-number: QTBUG-52256 Change-Id: Icbe3b9fbb79c952546aad2d467a438d3a69d749f Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix separate_debug_info with no_plugin_name_prefixJake Petroules2016-04-141-1/+1
| | | | | | Task-number: QTBUG-51782 Change-Id: I5499139c732f2ff474095e30bc1f7a22743f4b12 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: Add support for separate debug info on Apple platforms.Jake Petroules2016-04-141-16/+64
| | | | | | | | | | This makes the -separate-debug-info configure optional functional, which generates dSYM debug info bundles for Qt libraries on Apple platforms. Task-number: QTBUG-37952 Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: Ia247674740bf450130a15db926df07fa9007e2ca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Clang 3.8 is clean of warningsThiago Macieira2016-04-131-2/+2
| | | | | Change-Id: Ibc83b9f7e3bc4962ae35ffff1425c8e686579e15 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* remove empty dylib.prfOswald Buddenhagen2016-04-121-1/+0
| | | | | | | it doesn't appear to be referenced in any way, either. Change-Id: Ifd30b435e3e628cd5e48ae24e9aef01c662d6d61 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix bugs in accuracy of target path calculation in resolve_target.Jake Petroules2016-04-111-2/+21
| | | | | | | | | | | | Incidentally, this introduces QMAKE_RESOLVED_BUNDLE, which can be used to determine the path of the bundle wrapper itself as well as the executable target. This is necessary for a subsequent patch adding support for -separate-debug-info on Apple platforms. Change-Id: Ia11430026b8e3f171e5db6677b190b8356832805 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Adjust egl config.test to pass sysrooted libsDonald Carr2016-04-081-1/+1
| | | | | | | | | | | We should really start using -L=/foo and -I=/foo inside of sysroots, this test was preventing us from doing so (while arguably buying us nothing). Change-Id: If6e67631c585493871231e5d8a9354fa72e07343 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* remove bogus no_cxx_module conditionalOswald Buddenhagen2016-04-081-1/+1
| | | | | | | | | | this flag specifies that the plugin does not track a qt module. this is entirely unrelated to whether the plugin should be versioned. amends f54a3d783. Change-Id: Ibd3e9bedf488dc58e6354ccf7dd33d974e5f52c2 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* winrt: Add capabilities as specified by modulesMaurice Kalinowski2016-04-073-1/+23
| | | | | | | | | | | | | | | | | | | | | | | So far no capabilities (but internetClient for Windows 10) were added by default, which forced developers to always manually edit the WINRT_MANIFEST.capabilities(_device) property. This allowed to leave out non-required capabilities and keep the created manifest clean, examples being microphone for multimedia. However, this also breaks first user experience as deeper knowledge about this topic is required. Furthermore this is inconsistent with other platforms like Android, where all capabilities are set by default and developers need to edit the manifest manually in any case. With this change, modules can define the capability set to enable all features in the module. If developers want to disable some again, they need to adapt the generated manifest. From our experience this needs to be done in any case, latest at publishing stage when the store manipulates the manifest. Task-number: QTBUG-38802 Change-Id: I6d522268ee0afbfa00a30dbdd5e6ec9f415bebf3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* winrt: Enable windeployqt by default for Visual Studio projectsMaurice Kalinowski2016-03-231-0/+2
| | | | | | | | | | | | | | | Using Visual Studio a user very seldom wants to disable the automatic invocation of windeployqt. Hence switch from opt-in behavior to opt-out. This also fixes first user experience to invoke qmake –tp vc and then hit run on examples. [ChangeLog][Platform Specific Changes][qmake] qmake-generated Visual Studio projects now automatically invoke windeployqt by default. Task-number: QTBUG-52008 Change-Id: Iee1607269c38c7f6c726f554978ac05477bebe5e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>