summaryrefslogtreecommitdiffstats
path: root/qmake/generators
Commit message (Collapse)AuthorAgeFilesLines
* const correctness for variables()Oswald Buddenhagen2012-06-273-5/+5
| | | | | Change-Id: Id11453ccbae3ffa32580badadada945d342d727a Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* don't overuse variables()Oswald Buddenhagen2012-06-275-45/+45
| | | | | Change-Id: Ib2da88e5e29c0bfecc39a9c06e82a34a4bd0b1e6 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* const correctness for values() callsOswald Buddenhagen2012-06-2711-99/+103
| | | | | Change-Id: I1476ae8d3fb7364686398c5650729dee94a8e933 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* fix specdir()Oswald Buddenhagen2012-06-271-2/+1
| | | | | | | | get the actual spec path directly from the project - the specs in Option are not necessarily resolved. Change-Id: Ia2bf2199c5269aa5b5a9d4c38de36171f25d448b Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* revamp handling of qmake target modeOswald Buddenhagen2012-06-275-38/+18
| | | | | | | | | | | the project evaluator becomes oblivious of the target mode. the mode is set up in spec_post.prf according to the spec. $$QMAKE_TARGET contains the feature suffixes to search, and is also contained in $$CONFIG. the target_mode variable itself becomes private to the Makefile class. Change-Id: I3c06d9dab536b753343cec6c5c491d3203e50bd8 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* purge the integrity target modeOswald Buddenhagen2012-06-271-1/+1
| | | | | | | | | | it wasn't really wired, so the only effect it had was disabling the unix scopes (despite an attempt to override that in the spec, which probably worked before qt 4.6, and will start working again soon). Change-Id: I95daff75b508edaf83a8a06fd327350acd62b124 Reviewed-by: Rolland Dudemaine <rolland@ghs.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* don't let the make spec determine the host mode any moreOswald Buddenhagen2012-06-272-19/+2
| | | | | | | | | | | (some of) the generators are (moderately) x-platform, so it makes no sense to nail the host platform to a generator (and thus a spec). overriding the host platform is only a debugging mesasure anyway, so one can use the (now undocumented) -unix/-macx/-win32 options for that. Change-Id: If2a059f1feeb2c726e5838625ede1c7add829985 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* repurpose -unix/-macx/-win32 optionsOswald Buddenhagen2012-06-271-8/+0
| | | | | | | | | | they have been deprecated long enough, so we can mess with them now. don't make them set the target mode any more; the makespec can do that autoritatively. instead, they can be used to override the host mode for debugging purposes. Change-Id: Ife5fdcf4f1b6b926901a80896ac92b7d821278d1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* clean up specdir()Oswald Buddenhagen2012-06-262-8/+6
| | | | | | | | | the only callers which used non-default arguments are gone now, so remove the arguments entirely. this also enables us to re-enable result caching. Change-Id: I62f76e17e531a4eeafddb9b29716ca0a0eb3dbea Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix -spec/-xspec argument re-assemblyOswald Buddenhagen2012-06-262-2/+10
| | | | | | | | | | the specs in Option are now only fixifiable absolute paths if an actual path was passed on the command line - otherwise these are just names, and we should pass them on verbatim. Change-Id: I5b3535dadf2d6b2b3116331e6636f6e363a5361f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fixed Wince Makefile environmentBjoern Breitmeyer2012-06-193-0/+246
| | | | | | | | | Integrated the checksdk tool into qmake and made the makefiles selfcontained, so configure make, is now enough to build qt for wince Change-Id: I29076702eca2ec23d4d06bb3d5c5cef9d4f95161 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* revamp automatic makefile generation for sub-projectsOswald Buddenhagen2012-06-192-33/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of making the "real" targets depend on the makefiles, add conditional makefile generation to the targets themselves. this causes makefile generation to follow the recursion order determined by the project, which is important when dealing with prl and module pri files. a side effect of this is that qmake and make calls are interleaved now, which is entirely different from a 'qmake -r' run. on the downside, calling make with multiple targets which operate on the same subprojects without prior makefile generation will make a mess, as the qmake calls will be racing. this should be no problem, as qmake does not generate recursive targets where this would be useful - at least by default. it is not sufficient to just order the creation of the makefiles non-recursively (e.g., by using gnu-specific order-only-prerequisites), as an interrupted and subsequently resumed build would happily skip the nested makefiles. workable alternative approaches would be walking the entire tree in a pre-pass to ensure makefile presence (which is incredibly slow) or creating additional stamp files only after recursing and having the makefiles depend on them (which is ugly). Task-number: QTBUG-23376 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Change-Id: I88d3e7610215677d362026de316513d3bea04b06
* introduce $$QMAKE_CHK_EXISTS_GLUEOswald Buddenhagen2012-06-192-7/+5
| | | | | | | instead of hard-coding platform differences, use a variable. Change-Id: I20e98811ad5f07429148c6f88aedbabc3ba58fff Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* normalize $$QMAKE_QMAKEOswald Buddenhagen2012-06-191-2/+2
| | | | | | | | | everything in the projects should be normalized. only the makefile generators need to adjust it to the native form. Change-Id: I06a4e997f32134d13949ec4a9dd1b44367aab7cb Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* fix in-/out-dir mixupOswald Buddenhagen2012-06-191-4/+4
| | | | | | | | | no point in entering the outdir and leaving the indir. this doesn't really matter except for the obsolete borland generator, but whatever. Change-Id: Ieb4e4c549ebd65f99e4d00819c52822968b060a4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove unnecessary conditionalOswald Buddenhagen2012-06-191-6/+2
| | | | | | | the code above already deals with the differences Change-Id: Ifb799e46f5187e7bd3d0f0169e868ad267bcfe23 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove duplicate assignments of MKDIR & CHK_DIR_EXISTSOswald Buddenhagen2012-06-191-2/+0
| | | | | Change-Id: I314659a1ba25227380176dc65a9c81e3c6df28c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* unobfuscate makefiles re $(CHK_DIR_EXISTS)Oswald Buddenhagen2012-06-192-1/+5
| | | | | | | | no need to define an obscure variable for it. just inline it. the assignments are left in for compatibility with hand-written commands. Change-Id: I9bc3914e2c4116f3b8fe00a421ca0f036bb7e214 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make 'qmake_all' targets respect .depends and CONFIG+=orderedOswald Buddenhagen2012-06-191-0/+7
| | | | | | Change-Id: I010a9886ee0d40e4319cb6bd873b038336a42111 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make 'qmake_all' target of SUBDIRS projects properly recursiveOswald Buddenhagen2012-06-192-7/+21
| | | | | | | | | so far it would rebuild the makefiles one level down only, which is somewhat arbitrary and not really helpful. Change-Id: I5fe01f379ecc4b210610a674d7df7dfc18131eef Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make 'qmake' target of SUBDIRS projects non-recursiveOswald Buddenhagen2012-06-192-7/+1
| | | | | | | | | that's consistent with other projects. 'qmake_all' can be used for recursion. Change-Id: Ie6d620f7a3e0e28d3f2f82f01ca94c2f46137c68 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* don't use $(MAKEFILE) to refer to SUBDIRS' makefilesOswald Buddenhagen2012-06-191-1/+1
| | | | | | | | $(MAKEFILE) is our own file, and using it would wreak havoc if it was named anything but Makefile. Change-Id: I51cae2014a85399b409f18788f864ff2a82e493e Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* do not add "/." to _PRO_FILE_PWD_Oswald Buddenhagen2012-06-191-1/+1
| | | | | | | | if a "subdir" project added a project file from the same directory as itself, "/." would be appended to the path, which is obviously not useful. Change-Id: Ia733dedb57e568c5cf9a3d5eb29727176a5142c5 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* allow projects to suppress qmake recursionOswald Buddenhagen2012-06-191-0/+2
| | | | | | | | | | | webkit does some unholy tricks with the ordering of qmake and make invocations, so it does not work with qmake -r. to make it still possible to integrate it into the qt5 aggregator project, give it a chance to "break out" from the recursion. Change-Id: I926836e44c0e0790cdd90e6b0c8f766dccc33c4d Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* look for .qmake.conf filesOswald Buddenhagen2012-06-191-2/+6
| | | | | | | | | this is the source dir equivalent of .qmake.cache and can be checked into the repository. it can be used to make project-wide settings, or just to signal the presence of an mkspecs/ directory. Change-Id: I5f1cebad2aa2a89e78089341b2051613b6b7a613 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* find .qmake.cache for subprojects independentlyOswald Buddenhagen2012-06-191-3/+3
| | | | | | | | | | this allows the creation of aggregator projects, like, say, qt5. this is not expected to have a negative impact, as no project could reasonably expect a nested .qmake.cache to *not* take effect - in fact, if the project was processed stand-alone, it would already use it. Change-Id: I33f2935d309baba7e95465f2fefb8231c4f03eda Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove some symbian cruftOswald Buddenhagen2012-06-191-11/+0
| | | | | | | | - Option::mmp_ext - references to dead QMAKE_INTERNAL_ET_PARSED_* variables Change-Id: I863605b23798cbca3f6c8ab5a154fd432f1f4dcc Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* introduce /get property variantsOswald Buddenhagen2012-06-191-1/+1
| | | | | | | | | | | | | | | properties are now split into a write location $$[FOO] and a read location $$[FOO/get]. the write locations are hard-coded and configurable via qt.conf/Paths as before, while the read locations are configured via qt.conf/EffectivePaths. this finally provides a clean solution to the problem that during the qt build itself tools and libraries need to be taken from somewhere else than they are installed to. Change-Id: I956c43bd082afd465e690fe75d0bee3c2c0f7c25 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* purge unused VcprojGenerator::findTemplate()Oswald Buddenhagen2012-06-192-17/+0
| | | | | | it looked fishy for years. now i know why. ;) Change-Id: I822cadecaf8d914f383f9f907b92507852e434b4
* don't generate make_default targetsOswald Buddenhagen2012-06-191-5/+3
| | | | | | | | | | | | make_first really means the same, as the default target is 'first' which immediately invokes make_first. as a nice side effect, this fixes ALL_DEPS not being used by the subdirs template's default target - make_default wasn't special-cased in the right place, while make_first is. Change-Id: I946cea3b2dae198eda61d31dbd19c6ccd15deac7 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* introduce ability to build projects for the host systemOswald Buddenhagen2012-06-193-14/+21
| | | | | | | | | | | | | | | | | when qmake runs into the new option(host_build) command, it will restart the project evaluation with a host spec. the new default host spec is called default-host (gasp!). it is overridden with the pre-exising -spec / -platform option, while the new -xspec / -xplatform option overrides the pre-existing default spec. specifying -spec but not -xspec will set the xspec, too, so the behavior is backwards-compatible. same for the XQMAKESPEC override read from .qmake.cache and the environment variable. the cleaner solution would be adding -hostspec, to be symmetrical with the override semantics, but that would deviate from configure in turn. Change-Id: I4297c873780af16ab7928421b434ce0f1d3820da Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Remove unnecessary code from the XCode generatorAndy Shaw2012-06-121-299/+152
| | | | | | | | | Since we only support XCode 3 and later, then all of the legacy code can be safely removed. Change-Id: I9be8555aaa62c716b2277c2b97f41aa02d27ef13 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Port away from QString::{to,from}Ascii in qmakeThiago Macieira2012-05-142-3/+3
| | | | | | | | Properly use from/toLocal8Bit when referring to user data, even file names. Change-Id: I8fc7afa2ea570f8b1b1eecf354f01d6dfe0883cb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* fix static library names when generating .pc files for pkgconfigMark Brand2012-04-191-1/+2
| | | | | | | | | 219a688ac17052e4bb3aac9ff8a813e3f4d8da01 added the version extension which only occurs on the DLL import library. Change-Id: Ie913adf039d7f3a9aadf43f4af014289a8aeacbe Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Hib Eris <hib@hiberis.nl>
* Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-04-171-1/+1
|\ | | | | | | Change-Id: I964b0a6f5c38351fdfafb8a2a128a349ff8c89d1
| * Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-04-162-2/+4
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/corelib/io/qurl.cpp src/gui/kernel/qwindow.cpp src/tools/moc/generator.cpp src/widgets/kernel/qwidget_qpa.cpp src/widgets/styles/qstyle.h src/widgets/widgets/qtabbar.cpp tests/auto/corelib/codecs/utf8/tst_utf8.cpp Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
| * \ Merge remote-tracking branch 'origin/master' into api_changesOswald Buddenhagen2012-04-103-0/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/widgets/styles/qwindowsxpstyle.cpp tests/auto/gui/kernel/qwindow/qwindow.pro tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
| * \ \ Merge master into api_changesKent Hansen2012-03-191-0/+3
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qvector.h tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp Change-Id: I877256e95f3788e617437f4e9661a88047f38cd6
| * | | | Build qmake with QStringBuilder.Olivier Goffart2012-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QStringBuilder will be enabled by default so qmake should build with it. qstringbuiler.cpp has to be compiled in just for the convertFromAscii (The alternative was to build with QT_NO_CAST_FROM_ASCII, but that would be too much work) Change-Id: I1fbeed7ed8a9d3bc38ef591a687c50644980e2fd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | | | qmake vc(x)proj generator: don't create bogus directoriesJoerg Bornemann2012-04-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When creating the temporary project object, Option::output_dir must be adjusted temporarily. Task-number: QTBUG-22788 Change-Id: Ibf8897a46b63f48b9e33d7e2168b09e559cecec7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | | | qmake/Win: fix incomplete generated version resourceJoerg Bornemann2012-04-171-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Windows Vista the resource language must be included to make the version information visible in Windows Explorer. Two new variables have been introduced: RC_LANG (default: 1033) - resource language RC_CODEPAGE (default: 1200) - resource codepage Task-number: QTBUG-23218 Change-Id: I29e102d19501e3b7a43d5096fc4806bc38a4d846 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* | | | | qmake vcxproj generator: fix handling of /MANIFEST:NO linker optionJoerg Bornemann2012-04-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-23513 Change-Id: I5dd6fb6fd7910e43acd28057133a3ad6613cfc1a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* | | | | qmake vcproj generator: unused variable removedJoerg Bornemann2012-04-171-1/+0
| |_|_|/ |/| | | | | | | | | | | | | | | Change-Id: Iaf8bb1772846001297e1a421c3860f5e4d090a35 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | | qmake vc(x)project generator: fix VC++ Express detectionJoerg Bornemann2012-04-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If VC++ 2010 Express and VC# 2010 Express are installed, then the installation path is written in two places into the registry. We're now filtering detected installations with the same installation path. Task-number: QTBUG-24956 Change-Id: I401430e7aa81d96c523d8172d2a2e9d40ebdb3ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | | qmake vcxproj generator: properly escape XML attributesJoerg Bornemann2012-04-051-1/+1
| |_|/ |/| | | | | | | | | | | | | | | | | Task-number: QTBUG-24954 Change-Id: I21299440ba3f268c2fa1e14d37003cdc3e6a35ad Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | Fix build all failed for 'TEMPLATE = aux'Yuchen Deng2012-04-023-0/+3
| |/ |/| | | | | | | | | | | | | NMAKE : fatal error U1073: don't know how to make 'all' Stop. Change-Id: I387a417d37e38811706a1ff460df8ee581c6a33f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | allow the unix generator to run in windows host modeOswald Buddenhagen2012-03-161-0/+3
|/ | | | | | | | | | this is a complete bastardization of the concept and breaks the (unused) debugging feature to create proper unix makefiles under windows, but apparently it permits cross-compiling unix targets under windows. Change-Id: I4ee95a20e7d6a6b2063ec7aa22f52c1a97d78a77 Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove support for QMAKE_PLATFORM_DIROswald Buddenhagen2012-03-083-36/+0
| | | | | | | | | | this was a somewhat magic support for sysroots, automatically rewriting a number of path-holding variables. this was (as usual) completely undocumented, extremely fragile, and we are coming up with something better now anyway. Change-Id: I045910f532cb3efc839ea81c7a48f8db695e4092 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* move postProcessProject() call to sane locationOswald Buddenhagen2012-03-071-0/+4
| | | | | | | | | there is totally no reason to call it unless the project is actually used for makefile generation, and the excessive calls actually mess up things. Change-Id: Idb7912a5404f6054010d2f29cce820a167de4f6f Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* escape *_script_file usages in MingwMakefileGenerator::writeObjectsPartMax Desyatov2012-03-061-4/+4
| | | | | | Task-number: QTBUG-24595 Change-Id: I1e78a6015247b9e41ae2b05b50fdedf0613f00f1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>