summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* fix VS 2010 project file generation for release modeJoerg Bornemann2014-01-221-2/+5
| | | | | | | | | | | | VS 2010 doesn't denote "no debug info" as "None" but as empty tag. This fixes a regression introduced by 7c3efdfb6ad72955543128a5a13e3f45ef3ee7af. [ChangeLog][qtbase][qmake] fix VS 2010 project file generation Task-number: QTBUG-35610 Change-Id: I18ae69a842d0b679a781f8d24c026d422da3a857 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Replace @BUNDLEIDENTIFER@ in Info.plistMorten Johan Sørvig2014-01-221-0/+4
| | | | | Change-Id: I34aa77fc51b1ae4d7941f01fcb20236250454d19 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* fix memory leaks in MSVC generatorsJoerg Bornemann2014-01-102-6/+8
| | | | | Change-Id: I11bfc8259ac4e175c9ecc37d64f1d2e5037f15aa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix detection for multiple VS installationsJoerg Bornemann2014-01-081-2/+4
| | | | | | | | | | | | In the case of multiple VS installations, a static variable wasn't initialized. That led to wrong values in subsequent calls of the detection function. [ChangeLog][qtbase][qmake] fix detection for multiple VS installations Task-number: QTBUG-35530 Change-Id: I3fc23bc99679fff640f39578a7074d16fe923334 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* do not look for mkspecs/ directories in project treesOswald Buddenhagen2014-01-071-21/+0
| | | | | | | | | | | | | this pretty surprising behavior would interfere with building the examples from an installed qt tree with qmakes from other qt builds. .qmake.conf (and .qmake.cache) files provide a possibility to explicitly "anchor" project roots, so there is no point in having a second, even more magic way to do it. Task-number: QTBUG-35485 Change-Id: I8fd4fda67cabafdf55e7a98282dcdfaffb4a405e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* clean out some garbage in CONFIGOswald Buddenhagen2013-12-221-9/+0
| | | | | | | | | | | | | - thread was duplicated - x86 & ppc are obsolete and don't actually do anything - incremental was just plain nonsense (it does something entirely different, and it's better to hide this "feature" from public view) - resources is basically an implementation detail (it's on by default if qtcore is used) Change-Id: I9163af6e8db7988382ccf993d4be280f7faec1f2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make qmake auto-rebuild after path reconfigurationOswald Buddenhagen2013-12-222-1/+3
| | | | | | | | | while the dependencies in the manual projects are crappy anyway, it is still worth to cover the case of the user changing the install paths. Change-Id: I0a7ca5c8ba660c689d6d7af6b65d878390d6456f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix confusion surrounding debug, release & debug_and_releaseOswald Buddenhagen2013-12-221-25/+26
| | | | | | Done-with: Leena Miettinen <riitta-leena.miettinen@digia.com> Change-Id: I1e031402bc3d857cf29782957e5340e3c82f1ed2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-053-4/+20
|\ | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-ios-clang/features/default_post.prf tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
| * properly replace windows paths in installed meta filesOswald Buddenhagen2013-12-041-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * support s///i option in built-in sedOswald Buddenhagen2013-12-041-2/+7
| | | | | | | | | | Change-Id: I7521699a9b833c8b1d640a843b82f213952bba5a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Add PBXCopyFilesBuildPhases to main target, not preprocessing stepTor Arne Vestbø2013-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise the 'Wrapper' destination of the PBXCopyFilesBuildPhase will be empty, and the files end up outside of the application bundle. Task-number: QTBUG-34457 Change-Id: I799db28185a6c5d3d940602914fd8ba14c538bf2 Reviewed-by: Caroline Chao <caroline.chao@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | Doc: fixed invalid referenceNico Vertriest2013-12-031-0/+1
| | | | | | | | | | | | | | | | | | | | Link to "Getting started with qmake" was invalid Task-number: QTBUG-34749 Change-Id: I782dc99f5182f2fe7661377eb82f35ebb50a46cf Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | avoid vcX0.pdb files for qmakeOswald Buddenhagen2013-12-031-4/+2
| | | | | | | | | | | | | | let the compiler use qmake.pdb, as the linker will. Change-Id: Ifafdfeff5a7d0ea91d796f76fbdc018c87cf8b78 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | make compiler use the project's pdb fileOswald Buddenhagen2013-12-031-3/+5
| | | | | | | | | | | | | | | | this avoids the nasty and conflicting vcXX0.pdb files in the build dirs. VS will already do that. Change-Id: I7bddaecf3f478edc78cd6654b5a1038db4fe04ff Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | complete implementation of force_debug_infoOswald Buddenhagen2013-12-035-7/+14
| | | | | | | | | | | | | | | | | | 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>
* | install pdb files also for executablesOswald Buddenhagen2013-12-031-2/+2
| | | | | | | | | | | | | | the restriction to dlls is entirely unjustified. Change-Id: Ia518dd16189572dea9e8f4280c88801b1393694e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | make CONFIG+=no_dll affect pdb files as wellOswald Buddenhagen2013-12-031-1/+2
| | | | | | | | | | | | | | | | this option suppresses the installation of target (leaving only dlltarget). however, it still installed target's pdb file. Change-Id: Ia686a647c101ca66e74944d23171e120fc74515a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-11-265-10/+24
|\| | | | | | | Change-Id: I83ff8f4d7dffd7385013a1bd8a1732a89ee20d56
| * fix handling of \\ in replacement string in s/// cmd of built-in sedOswald Buddenhagen2013-11-231-0/+1
| | | | | | | | | | | | | | | | | | | | QString::replace() has no way of escaping capture group references, so simply disarm double backslashes. of course this is broken, but we'd need to reimplement it from scratch to fix it properly. "corner case" ... Change-Id: I357fbfd22c9c4a68809e5af6efad1de3a95706b5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * fix handling of | in s/// commands of built-in sedOswald Buddenhagen2013-11-231-1/+1
| | | | | | | | | | Change-Id: I139d007d68fb0aed4d9fbe57a14d1ede81ba40d8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * adequately shell-escape generated sed commandsOswald Buddenhagen2013-11-232-1/+12
| | | | | | | | | | Change-Id: I39c8c4ab3da69bd21beace56f5cf3070301ac015 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * install pdb files for dlltargetOswald Buddenhagen2013-11-211-2/+4
| | | | | | | | | | | | Task-number: QTBUG-31129 Change-Id: I49ef3472d12b291999b4194b014b200df4b0f22d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Fix mkdir command in Windows shell for paths with forward-slashesEskil Abrahamsen Blomfeldt2013-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | In particular this triggers in some cases of package building where we are using a Qt version which for some reason has forward slashes in its install prefix. Any mkdir command run with this Qt build will fail because only backslashes are recognized as path separators. Task-number: QTBUG-34886 Change-Id: I2f957c6d348852ec555a67a35ae39921523b7b3e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * fix more cases of mkdir_asstring() argument overquotingOswald Buddenhagen2013-11-211-5/+5
| | | | | | | | | | Change-Id: I7dd4024fb6fceb47431b626b586a471b74789cdc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | make distclean actually remove the static library targetOswald Buddenhagen2013-11-251-1/+1
| | | | | | | | | | | | Task-number: QTBUG-3883 Change-Id: I288d830d6f73c69401ba81a70f35ee511e31bed5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-11-221-3/+3
|\| | | | | | | refs/staging/stable
| * fix overquoting in some mkdir callsOswald Buddenhagen2013-11-201-3/+3
| | | | | | | | | | Change-Id: I2ed418064d43ab8cdab87af48e03d983c023ccf5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Show all of the internal included files in the Supporting Files groupAndy Shaw2013-11-221-2/+2
|/ | | | | | | | | | | In XCode only the pro file was shown in the Supporting Files group as it was the first one in the list. The others were not shown as it was recreating the temporary QStringList each time instead of appending to it. Change-Id: Ifbc40a25156cf639eaa34b410f534726c41b6232 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* support a cache that is really just a cacheOswald Buddenhagen2013-11-145-28/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | unlike .qmake.cache & co., the presence of this file has no magic effects on where mkspecs, modules and other things are searched. as the obvious name "cache" is of course already taken, we call it "stash". the file is searched up to the super cache (if present), otherwise up to the normal cache/conf (if present), otherwise up to the root. if it's not found, it is created next to the super cache (if present), otherwise next to the cache/conf (if present), otherwise in the current output directory. note that the cache really should be created and populated by the top-level project if there are subprojects: otherwise, if there is an "anchor" (super/cache/conf), subprojects would race for updating the cache and make a mess. without an "anchor", each subproject would just create its own cache, kind of defeating its purpose. this is no different from the existing "cache", but it's worth mentioning that removing the "anchoring" function does not remove the "nesting order" constraint. Task-number: QTBUG-31340 Change-Id: I786d40cef40d14582a0dd4a9407863001bec4c98 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* clean superfile and cachefile paths upon creationOswald Buddenhagen2013-11-141-2/+2
| | | | | | | | | otherwise, if the output dir is the root, the path would be denormalized. the code for finding existing files already does that. Change-Id: I56d70477e9c9ffcd936325068624a84df10ffd87 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Doc: Updated url variable in qdocconf files.Jerome Pasion2013-11-061-2/+1
| | | | | | | | | | | | | | In 5.2, the HTML output is in a flatter structure and when they are hosted in qt-project.org/doc, the documentation will be found at http://qt-project.org/doc/qt-$QT_VER The url variable is used by projects outside of Qt 5 which need to link to Qt 5 documentation, such as Qt Creator. Task-number: QTBUG-34584 Change-Id: Ifa55fcd9e402b0e184a41e316340e46aeb7101de Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* move setting of _QMAKE_{SUPER,CONF,CACHE}_ to a more logical locationOswald Buddenhagen2013-11-041-24/+25
| | | | | | | | | | | | | there is no point in setting the variables already when peeking into the caches, as that is done in a separate evaluator anyway. it also makes no sense to have them set while loading the spec itself, as it's not permitted to do anything with the caches. so set them at the next convenient point, which is right before actually loading the caches. Change-Id: I3717ddf94353dc04e12c52e542f16ed27b578e14 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* bring fake qmake project up to snuffOswald Buddenhagen2013-11-042-27/+26
| | | | | Change-Id: Ib5b51ea2198db9fb202d957ab08b47cd32e99723 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix warnings about unused variables & parametersOswald Buddenhagen2013-11-043-5/+6
| | | | | Change-Id: Ia5816671267ea21dae0d90560b239c4498f9156c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* shrink #ifdef'd sectionOswald Buddenhagen2013-11-041-4/+5
| | | | | | | for better compile-time coverage Change-Id: I594303cca6f22b68f99c0f35e0767032b90c9eae Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make-gcc-happy variable-may-be-uninitialized (but-is-not) commitOswald Buddenhagen2013-11-041-1/+1
| | | | | Change-Id: If214d3bce7fd23e2c30b6b9bc1bfec2e9fff3958 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix initialization order warningsOswald Buddenhagen2013-11-041-4/+4
| | | | | Change-Id: Ia12973f7c4cabff77133ef4b9a840b76e8881759 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix signedness warningsOswald Buddenhagen2013-11-041-2/+2
| | | | | Change-Id: I86952c06176dd334a3f029c34b74260ea43434cb Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* kill dead codeOswald Buddenhagen2013-11-041-11/+0
| | | | | Change-Id: I713c5504126fab40389ecb3a248b6c10048fc6c4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* xcode generator: warn if QMAKE_INFO_PLIST is not validRichard Moe Gustavsen2013-11-012-0/+4
| | | | | | | | | | | Warn the user if QMAKE_INFO_PLIST is set, but file not found. An iOS application will not run or deploy without an Info.plist present, and the error message given by xcodebuild is not very informative. Change-Id: I54f0e06de320a43c9f3261fe88761c41e3ccd022 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* fix VS version selectionJoerg Bornemann2013-10-311-31/+16
| | | | | | | | | | | | | | | | On machines where multiple versions of VS are installed, the VS version for the vc(x)proj generator is selected by the entries in the PATH variable. The first VS installation that's found in PATH is used. The former logic printed a warning if multiple VS installations were in PATH and also fell back to the lowest version if a VS version was registered with multiple install paths. That's the case for VC 2012 express and prevented its usage. Task-number: QTBUG-34357 Change-Id: Ia5c66a1aea0c40e4b7460b3aa6c7daee6673da44 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Pick up default bundle prefix from Xcode preferencesTor Arne Vestbø2013-10-311-1/+4
| | | | | | | | | 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>
* xcode generator: resolve QMAKE_INFO_PLIST from source dirRichard Moe Gustavsen2013-10-301-1/+1
| | | | | | | | | | If QMAKE_INFO_PLIST is set, check if the file it points to is located inside the project source dir rather than the build dir. Change-Id: I6fb176349dae8e841b5e2dfdb9f9cb87f51a1e76 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Fix msvc project dependencies as specificed by .dependsChris Gilbert2013-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the full path to the qmake project file was specified as the key for projGuids when inserting the project GUID into this hash table. The only place that items are inserted into projGuids is in VcprojGenerator::collectDependencies at: projGuids.insert(val.first, newDep->target); In this case, val.first contains the full path for the given project being processed at this point. (e.g.: c:\testproject\testproject.pro) Further in sln/vcproj generation, projGuids is queried with the contents of <TARGET>.depends so that users may specify another qmake project as a dependency for a given target. This occurs in two places, in two ways: 1) In VcprojGenerator::collectDependencies() at: QString depend = dep.toQString(); if (!projGuids[depend].isEmpty()) { ... In this case QString depend contains whatever is put into <TARGET>.depends. Typically this is the plain name of the project you depend on. (e.g.: testproj) 2) In VcprojGenerator::writeSubDirs(QTextStream &t) by proxy of extraSubdirs which is a QStringList of the project depends should the mapping in case 1 fail. This case works much like the above case, attempting to use each QString entry of the extraSubdirs list as a key in projGuids. If either of the above two attempts are successful, the msvc solution is configured in a way that creates a project dependency, ensuring correct compilation order and other related behavior. The fix here stores the target project (e.g.: testproject) as opposed to the full project path, as that is what is expected in the <TARGET>.depends statements contained in the qmake project. Change-Id: Iee05661a64d7a3e4467c5ade48d801fbbfe981b5 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Chris Gilbert <cgilbert@knaldtech.com>
* fix /SAFESEH linker option for VS >= 2010Joerg Bornemann2013-10-293-4/+9
| | | | | | | | | | In VS 2010 and newer the /SAFESEH linker option is not passed as additional option but is represented by the property ImageHasSafeExceptionHandlers. Task-number: QTBUG-34392 Change-Id: I3bd19078e695716050dd20736b6bc589bcb1cefd Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Add QMAKE_PKGCONFIG_VERSION variable to allow version overridingKonstantin Ritt2013-10-281-1/+5
| | | | | Change-Id: Ibba50c74f308d81e0058e4dacec7ed84e738473e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* xcode: Move Qt preprocessor steps to separate targetTor Arne Vestbø2013-10-251-2/+24
| | | | | | | | | | | | | | | Xcode resolves dependencies at the beginning of each target, so if a Qt preprocessor such as moc or rcc updates a cpp file Xcode will not rebuild the cpp file until the next build. We solve this by moving the Qt proceprocesor handling to a separate aggregate build tool target, which the main application target then depends on. Change-Id: I8f9225b9603dc5f279b1cb60976fe709bd97963e Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* qmake: Expose qmake arguments as QMAKE_ARGSTor Arne Vestbø2013-10-245-4/+5
| | | | | | | | Allows project files or mkspecs to call qmake recursively using system() with the right arguments, which we use to fix the ios default_post.prf. Change-Id: I90d69e2b156bb0f0af1279188b11f81c84c24fb8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Skip extra PKGCONFIG variables with empty valueKonstantin Ritt2013-10-221-1/+2
| | | | | | | The fallback value is an empty string anyways. Change-Id: I77a2d3ad275321cb8b2e059fb6359f921cbc697c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>