summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* introduce /get property variantsOswald Buddenhagen2012-06-193-5/+11
| | | | | | | | | | | | | | | 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>
* add $$reverse() functionOswald Buddenhagen2012-06-191-1/+13
| | | | | | | | | returns the list with the order of the elements reversed. one can easily implement this with existing functions, but this is way faster and more readable. Change-Id: I12d306eb9fe58fc332622274ea6b658192529491 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* add $$shell_quote() functionOswald Buddenhagen2012-06-191-1/+71
| | | | | | | | to be used in system() calls and when assembling EXTRA_COMPILER and INSTALLS .commands by hand. Change-Id: Id706cd56aa267a9fb4b14e3416692b4716fafa5b Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$absolute_path() and $$relative_path()Oswald Buddenhagen2012-06-191-1/+19
| | | | | | | just exposes QDir::fooFilePath() wrapped into QDir::cleanPath() Change-Id: I7a7644084825fd8092a9910ac20f695c4d9351f6 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$native_path() functionOswald Buddenhagen2012-06-191-1/+9
| | | | | | | more or less QDir::toNativeSeparators(QDir::cleanPath()) Change-Id: I52deee1e8086559eda5833b387a0cf64d21cbcd9 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$clean_path() functionOswald Buddenhagen2012-06-191-1/+9
| | | | | | | just QDir::cleanPath() Change-Id: I2d51e2385939d8926c00f296537ab7f6757d9a79 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$format_number() functionOswald Buddenhagen2012-06-191-1/+75
| | | | | Change-Id: I04266c1f5fb72af94073f3f508cee59085e365b6 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$shadowed() functionOswald Buddenhagen2012-06-194-1/+40
| | | | | | | | | return the build directory corresponding to a given source directory. this is the identity function if not shadow-building. if input lies outside the source directory, return empty value. Change-Id: I2d2a6b1112bd19989fe29cfe19a12d39a0d208c1 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$val_escape() functionOswald Buddenhagen2012-06-191-1/+13
| | | | | | | | this quotes the elements of a variable in a way suitable for re-parsing as qmake code. Change-Id: I0e6ea2478c43b5aeff45f485a48ac8c86705dd4a Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$enumerate_vars() functionOswald Buddenhagen2012-06-191-1/+5
| | | | | | | this simply returns the keys of all variables in the context. Change-Id: I0092f827744fcd257dfb9e7ca664c87c6f1cc763 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make defined() support testing definedness of variablesOswald Buddenhagen2012-06-191-0/+2
| | | | | Change-Id: I58d2dd402d72ee5a19012a6b5a4ba111717d40cc Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add mkpath() functionOswald Buddenhagen2012-06-191-1/+15
| | | | | Change-Id: I8809b9ee4e85fbe8cec95641d659f237c5f51a26 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add log() functionOswald Buddenhagen2012-06-191-6/+13
| | | | | | | this is a literal print to stderr. Change-Id: Ib0a2f53373ebbc4e0bda07a38d656bce145b31cf Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add touch() functionOswald Buddenhagen2012-06-191-1/+74
| | | | | | | | | this is equivalent to unix "touch --no-create --reference <ref> <file>". QFile has no setLastModified() (even though QFileInfo has lastModified()), so the implementation is low-level. Change-Id: I6783e8f2613e168ad0c24e79e7384d5b2e4901ee Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add write_file() functionOswald Buddenhagen2012-06-191-1/+38
| | | | | | | | | this dumps the contents of a variable into a file. each element of the variable is considered a line; line terminators are added. all missing directories are automatically created. Change-Id: Idafeb873cea64e6705c894b3ab0ef21df69e7170 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add cache() functionOswald Buddenhagen2012-06-191-3/+222
| | | | | | | | | | | this function adds the current contents of the named variable to the cache. this comprises populating base_vars and appending an assignment to .qmake.cache. if no cache file exists yet, it will be created in the current output directory (and inherited by subdirs projects). if called without a variable name, only create the cache file if missing. Change-Id: I1e81c2238aa6a5817a6ebbfb022e2b995c349363 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add "blob" and "lines" modes to $$cat() and $$system()Oswald Buddenhagen2012-06-191-25/+63
| | | | | | | this bypasses the otherwise done insane word splitting Change-Id: Ia9b8980bc0770de3999544a06d239f55fb34f801 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* properly declare the host tools as such in the project filesOswald Buddenhagen2012-06-191-0/+1
| | | | | | | don't mess with the qmake cmdline args any more. Change-Id: I399d87145d31d25e29951b6acd96387a3c7282f0 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* introduce ability to build projects for the host systemOswald Buddenhagen2012-06-197-39/+98
| | | | | | | | | | | | | | | | | 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>
* Revert "make default_pro.prf advertize dynamically created .qmake.cache"Oswald Buddenhagen2012-06-191-2/+0
| | | | | | | | ... and followup fixes. this is not needed any more due to the breaking patch being reverted. Change-Id: Ia3416fcc16ddece680efbd0322286a601879fa0a Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Revert "move .qmake.cache search to Option"Oswald Buddenhagen2012-06-194-72/+59
| | | | | | | | | | | | | | | | We are now moving in the exact opposite direction. This logically reverts commit 059200a44ba7177d0c9ec6bb5e6ee0b7e0c3f017. Some adjustments were necessary to maintain the project root stuff. Conflicts: qmake/main.cpp qmake/option.cpp qmake/option.h qmake/project.cpp Change-Id: Ic14fa571cbbfe9ac159f92493e49741d70a87eff Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Revert "move finding the makespec to Option"Oswald Buddenhagen2012-06-194-49/+46
| | | | | | | | | | | | | | Needed for an upcoming revert. This reverts commit 74a6669fa7c0d6e2cb7d34d56332d620d2a07755. Conflicts: qmake/option.cpp qmake/project.cpp qmake/property.cpp Change-Id: I56088506d27bf1f095f9261c75224f4bee17ec60 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>
* qmake can not process project file with UTF-8 BOMDebao Zhang2012-05-301-2/+8
| | | | | | | | | Project file contains UTF-8 BOM can't processesed by qmake and will cause subtle errors. Task-number: QTBUG-25848 Change-Id: Id69ed38c6be63a29fa3792a631cb8cb0ac176148 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Add Visual Studio 11 mkspecAndreas Holzammer2012-05-161-2/+2
| | | | | | | | | | | This adds the Visual Studio 11 mkspec and the corresponding changes to configure and qmake makesystem. Change-Id: I3a7e82a6f7f90aa0a94dedd493ebaa66bf100923 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@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>
* Don't use the QRegExp methods that modify the object [qmake]Thiago Macieira2012-04-231-1/+1
| | | | | | | | | | | | | QRegExp matching methods modify the object, which we don't want to. In particular, when we receive a QRegExp from the user or we store in a context that might require thread-safety, make sure we make a copy before using it. QRegularExpression has no such shortcoming. Task-number: QTBUG-25064 Change-Id: I6b2d2530238a7e04b44859664a2962f2f466ee30 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-177-18/+39
|\ | | | | | | 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-104-2/+7
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Remove -DQT_NO_STL from the bootstrapped buildsThiago Macieira2012-04-074-4/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: I37ea06426b66e617a49ec46952abdaad8814eadf Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| * | | QHash security fix (1/2): add global QHash seedGiuseppe D'Angelo2012-04-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Algorithmic complexity attacks against hash tables have been known since 2003 (cf. [1, 2]), and they have been left unpatched for years until the 2011 attacks [3] against many libraries / (reference) implementations of programming languages. This patch adds a global integer, to be used as a seed for the hash function itself. The seed is randomly initialized the first time a QHash detaches from shared_null. Right now the seed is not used at all -- another patch will modify qHash to make use of it. [1] http://www.cs.rice.edu/~scrosby/hash/CrosbyWallach_UsenixSec2003.pdf [2] http://perldoc.perl.org/perlsec.html#Algorithmic-Complexity-Attacks [3] http://www.ocert.org/advisories/ocert-2011-003.html Task-number: QTBUG-23529 Change-Id: I7519e4c02b9c2794d1c14079b01330eb356e9c65 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Compile QArrayData in bootstrap phase.Jędrzej Nowacki2012-03-294-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change will be needed during migration from QByteArrayData to QArrayData. Change-Id: I0c8d6f9ed3ef7c33af62736af55259a8f9a70c0f Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
| * | | Disable QUrl support in QVariant in bootstrapped modeThiago Macieira2012-03-244-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only use of QUrl in qmake, moc, uic and rcc is due to QVariant's internals, so let's disable it. This means those binaries are now probably a lot smaller since the parsing and IDNA code don't need to be present. Change-Id: Ie156b0817d119b2ba5d3dcb9712a9fea2ee7d4a1 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
| * | | Merge master into api_changesKent Hansen2012-03-192-1/+4
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qvector.h tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp Change-Id: I877256e95f3788e617437f4e9661a88047f38cd6
| * | | | Build qmake with QStringBuilder.Olivier Goffart2012-03-165-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | | Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-03-129-140/+105
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp Change-Id: I884afc3b6d65c6411733a897a1949e19393573a7
| * \ \ \ \ Merge remote-tracking branch 'origin/master' into api_changesJoão Abecasis2012-03-086-21/+25
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Change-Id: I89dc2e193bd01624c1fb50484610d516e39b1538
| * | | | | | Split up base class QFileDevice for open-file operations (read/write)David Faure2012-03-064-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be used later on as a base class for QTemporaryFile and QSaveFile. Change-Id: Ic2e1d232f95dc29b8e2f75e24a881ab459d3f037 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@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: QMakeProject::intValue addedJoerg Bornemann2012-04-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For variables that are supposed to contain a single int, this method returns the numeric value. Only the first value of the variable is taken into account. Change-Id: Ifa11ba5ac044e0a4703a387a9bcf02043e4681d8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>