summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* Unify win32-g++ and Unix qmake Makefiles.Ray Donnelly2013-02-193-192/+50
| | | | | | | | | Replace the old sed / template @FOO@ method with echo. Enable MSYS bash to build qmake.exe Use qmake/Makefile.unix for all win32-g++ builds. Change-Id: I6e27d69b28d27131838bbbb3a4ee5a08b470f31b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-02-182-5/+6
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-182-5/+6
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/styles/qmacstyle_mac.mm Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
| | * fix MSVC build for non-standard command line interpretersJoerg Bornemann2013-02-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In our incremental linking command block we relied on del never returning a non-zero exit code. Other command line interpreters than cmd.exe, e.g. TCC, behave differently. We now check for existence before trying to delete the manifest file. Task-number: QTBUG-29698 Change-Id: I94d125998da6f2c0377104f7e83cdd9e8b838329 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | * remove automatic splitting from $$() expansionsOswald Buddenhagen2013-02-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $$(FOO) would automatically split the contents of the environment variable at whitespace (and interpret quoting inside it). the way to prevent the splitting (but not the quote interpretation) would be using "$$(FOO)". this behavior is entirely unexpected and thus an incredibly effective source of quoting problems - according to a grep over the whole qt sources, there isn't a single case where things were done right. in qt creator, well over half the cases are wrong. also, the "feature" seems entirely pointless: nobody uses spaces as separators in environment variables. consequently, simply remove it, even in a patch release. i'm postulating that nobody will complain. Change-Id: I9ed3df1b0d1ef602acd78ceb118611d294561da6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * fix check for Windows CE platformJoerg Bornemann2013-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | We don't have to do fuzzy mkspec name searches anymore. The WinCE mkspecs add "wince" to QMAKE_PLATFORM which ends up in CONFIG. Change-Id: I6c0576b5504beb416e95eeae0dec579b16b84746 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | Update feature paths on assignment to QMAKE_PLATFORMTor Arne Vestbø2013-02-182-1/+4
|/ / | | | | | | | | | | | | | | | | | | | | Instead of after parsing the makespecs, were we assumed QMAKE_PLATFORM had been set by the makespec and did an explicit update. Allows loading platform specific features from within a makespec after updating QMAKE_PLATFORM. Change-Id: I0eb3b7fb88ce48b00a384850c5d87223c06234d7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Giuseppe D'Angelo2013-02-1711-66/+69
|\| | | | | | | refs/staging/dev
| * add ability to override the generated pkg-config file nameOswald Buddenhagen2013-02-061-9/+12
| | | | | | | | | | | | | | | | | | introduce the QMAKE_PKGCONFIG_FILE variable for that purpose. this is another feature that is needed for a bugfix ... Change-Id: I08f470e1b2b7dd318af9195330c15d813fcd55ef Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * QMakeParser: save one ByteArray constructionhjk2013-02-061-1/+1
| | | | | | | | | | | | Change-Id: I2845fdefb8b32de227f08017e0e3ad98923d1c87 Reviewed-by: hjk <hjk121@nokiamail.com> (cherry picked from qtcreator/52be02d1cbbf69d4f82c517c7b633ed3d13b1007)
| * Remove braces for single lines of conditionsOrgad Shaneh2013-02-063-22/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #!/usr/bin/env ruby Dir.glob('**/*.cpp') { |file| # skip ast (excluding paste, astpath, and canv'ast'imer) next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i s = File.read(file) next if s.include?('qlalr') orig = s.dup s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m| res = $& if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces res else res.gsub!('} else', 'else') res.gsub!(/\n +} *\n/m, "\n") res.gsub(/ *{$/, '') end } s.gsub!(/ *$/, '') File.open(file, 'wb').write(s) if s != orig } Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc Reviewed-by: hjk <qthjk@ovi.com> (cherry picked from qtcreator/29a93998df8405e8799ad23934a56cd99fb36403) Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
| * qmake/MSVC: fix parsing of the /openmp optionJoerg Bornemann2013-02-041-3/+12
| | | | | | | | | | | | | | Task-number: QTBUG-29143 Change-Id: I6b1ce0babf51701fa404b821b22060a87c4f46b2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * do not parse MSVC option /Gs as /GSJoerg Bornemann2013-02-041-3/+1
| | | | | | | | | | | | | | | | | | | | | | /Gs[size] will be added as additional option as there is no XML element for this option. Task-number: QTBUG-29329 Change-Id: I1f09bfdac90f9c5f2333dc03e6e4e6a206b4f6d0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * qmake/MSVC: do not disable buffer security check per defaultJoerg Bornemann2013-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | The default must be "unset" to let the user's MSVC settings decide what the default value is. Task-number: QTBUG-29329 Change-Id: I6015202c123dbb7304941b0d24557a26a1e3236c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * support alternative and multiple suffixes in $$resolve_depends()Oswald Buddenhagen2013-02-042-6/+11
| | | | | | | | | | | | | | this is undeniably a new feature, but it's needed for a bugfix. Change-Id: I951a3128eb580404ee0c7e3cdcb4d6170e899f70 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * don't flush qmake command line twiceOswald Buddenhagen2013-02-013-7/+10
| | | | | | | | | | | | | | | | | | otherwise variable assignments (including -config options) from $QMAKEFLAGS are lost. Change-Id: I818e9372d2b0ff44333dc3eb8fc3420f84ab01c5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * remove versioned config backwards compatibility hackOswald Buddenhagen2013-02-011-13/+3
| | | | | | | | | | | | | | the vendor string was changed, so compat is broken anyway. Change-Id: I07241843237ce28bd7a869bb4170c7e4c8d084df Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * adjust paths in installed prl files for mingwMark Brand2013-01-301-1/+1
| | | | | | | | | | | | | | | | | | Curiously, qmake could fix .prl and .pc files for unix, but only .pc files for MinGW. qt_module.prf seems to have known this. Task-number: QTBUG-28902 Change-Id: Ice9983a69813690c0d4b96ca11589440182569a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | purge vestiges of QMAKE_LFLAGS_QT_DLLOswald Buddenhagen2013-02-131-4/+0
|/ | | | | Change-Id: Ia86b9cee1044ab915854e0e231e1b3d5d66e1f7d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* consolidate generation of metafile install targetsMark Brand2013-01-254-36/+27
| | | | | | | | | Metafiles such as .prl and .pc files contain paths that have to be adjusted during installation. The same code is used for unix and windows so move it into the base class. Change-Id: I82db89ec83820a4fa0214ba15e7cd63438f6dc91 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: Don't let an empty $$VERSION cause a garbled version in .rc filesDebao Zhang2013-01-251-1/+1
| | | | | Change-Id: I7f0560979e645da216674cc70c73c5ea9c053aa6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Revert "qmake vcxproj generator: map TARGET_EXT to $(TargetExt)"Joerg Bornemann2013-01-243-12/+2
| | | | | | | | | | | | | | | This reverts commit e81d7fd1e57fe2ce11cbe07636f890973116f7ab. The insane logic that prepends the version number of a lib to TARGET_EXT instead of appending it to TARGET breaks every vcxproj with a library version. Fixing this properly will require much more work and testing on all supported Windows platforms. Forward-port of 8869b3b3 in qt/qt.git. Task-number: QTBUG-29286 Change-Id: Ib96de9c6f41995af013b146a00c850c9da3a9d8d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-1857-57/+57
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Merge remote-tracking branch 'gerrit/release' into stableFrederik Gladhorn2013-01-151-1/+1
|\ | | | | | | Change-Id: Ieb104d0e390218a063082c93bc9c7e412af2166d
| * MinGW: Statically link runtime libraries into qmakeKai Koehne2013-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | Avoid runtime dependencies to e.g. libpwinthread-1.dll, libstc++-6.dll. This prevents Qt Creator from spitting out error dialogs on each startup for registered MinGW versions that aren't in the default PATH. Change-Id: Id55518db8c8e0521b6a41add1eaf38f75a892c8b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | qmake: Add application icon support for windowsDebao Zhang2013-01-103-11/+21
|/ | | | | | | | | | | A new qmake's variable RC_ICONS is introduced to specify the icons. The first one will be used as the application's icon. Change-Id: I4218db795837d470087dff8526eb0e4cb81ce5ed Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* don't overquote deps on .pc and .la filesOswald Buddenhagen2013-01-081-6/+2
| | | | | | Change-Id: I00c268b1c0316b6deb0c4e1b2a0c7428e312c682 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* do not fixify + create QMAKE_{PKGCONFIG,LIBTOOL}_DESTDIROswald Buddenhagen2013-01-081-2/+2
| | | | | | | | | these variables are somewhat magic: they are relative to DESTDIR, and they also specify the installation location relative to target.path. the actual output directories are created by other code. Change-Id: Iead3006057516f5a49b6fd4bd8996a062c984fce Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake:Add a case sensitivity flag to ProString::{starts,ends}With()Debao Zhang2012-12-211-8/+8
| | | | | Change-Id: I457cd8288ae8a0138f7b28321fe87be3308b5215 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix handling of precompiled header files in XCode projectsAndy Shaw2012-12-191-4/+4
| | | | | | Task-number: QTBUG-24589 Change-Id: If81e15aa038f418abea25d96a7b7ec773a87d2db Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Respect the OBJECTS_DIR setting for XCode projectsAndy Shaw2012-12-191-2/+2
| | | | | | | | Task-number: QTBUG-28104 Change-Id: I0361cb979c40ce14ac163453d8229efc69527b6c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix DLL manifest resource ids for debug buildsJoerg Bornemann2012-12-181-2/+3
| | | | | | | | | | The resource id must be 2 for DLLs. This was broken for the "debug with incremental linking" case. Task-number: QTBUG-28682 Task-number: QTBUG-28683 Change-Id: Id8c48a1dec30e341de949213c63c1c9b73956dac Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* do not add DEPENDPATH assignments to projectsOswald Buddenhagen2012-12-171-1/+0
| | | | | | | | qmake now add CONFIG+=depend_includepath by default, making manual DEPENDPATH setup unnecessary. Change-Id: I93988ec4fa08ed3c65dc217da1ba59850274e167 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove some unnecessary CONFIG additionsOswald Buddenhagen2012-12-171-2/+0
| | | | | | | | qt is already added by spec_pre.prf, warn_on and depend_includepath by default_pre.prf. Change-Id: Ic00e0ba496d698ed9659c476f2ca99fc0f86a093 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* accept hex/octal values for RC_LANG and RC_CODEPAGEJoerg Bornemann2012-12-171-1/+7
| | | | | | | Task-number: QTBUG-28624 Change-Id: I6188045b05ebb8b9d285d1b30f8082a2fe46ff8b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* add base parameter to ProString::toInt and ProString::toShortJoerg Bornemann2012-12-171-2/+2
| | | | | Change-Id: I0c8b48e6491486ca829ce24ca2e284294ba0138a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix duplicate TRANSLATION entry in generated RC fileJoerg Bornemann2012-12-171-4/+0
| | | | | | | Task-number: QTBUG-28625 Change-Id: I9bd6098c7557ca008211acef172f5c51a6766998 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: fix manifest embedding for DLLsJoerg Bornemann2012-12-111-1/+3
| | | | | | | | | | | | Manifests must be embedded into DLLs with the resource id 2, not 1. This fixes a regression introduced in commit c9406bcf. Task-number: QTBUG-28524 Change-Id: I93b1dfe4614d0535f47fd881b8688a23e83e845f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Ismo Haataja <ismo.haataja@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* support include paths for the Windows resource compilerJoerg Bornemann2012-12-103-5/+37
| | | | | | | | | | | In RC_INCLUDEPATH one can add include paths for the Windows resource compiler. Task-number: QTBUG-13776 Change-Id: If1d9ed44097adb7789df03e4ccd4e3b7df9e8d08 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: fix extra compilers in vcxprojs for single config modeJoerg Bornemann2012-12-101-0/+10
| | | | | | | | | | | | In single config mode extra compilers were not written to Visual Studio project files, because they were not added to the fake project object we're using to write a single config project. Task-number: QTBUG-27505 Change-Id: Ie57b648861573496252f1383dc77e0729e244947 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: add ProductVersion to automatically generated resourceJoerg Bornemann2012-12-061-0/+1
| | | | | | | | | | ProductVersion is set to the same value as FileVersion. Task-number: QTBUG-27428 Change-Id: Ia01e14112d3a0e74b9fbe5fc8d9c4f9ae690db34 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* MSVC: don't use the variable name LINK in generated makefilesJoerg Bornemann2012-12-064-7/+7
| | | | | | | | | | | Rename LINK to LINKER. The MSVC linker uses the environment variable LINK to pass additional command line arguments. We must not hide this variable. Task-number: QTBUG-28332 Change-Id: Id78476d1cf4a73175b9f47292c67f38a43ae5ba4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* centralize MAKEFILE writeout betterOswald Buddenhagen2012-12-051-9/+4
| | | | | | | | | nmake depends on a variable being assigned before it is referenced, so just write it out to every Makefile as the very first thing. this is nicer than the previous hack anyway. Change-Id: I50f409919352f560f7ef6c848a2f7c51d1878148 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* introduce QMAKE_RPATHLINKDIR (and QMAKE_LFLAGS_RPATHLINK)Oswald Buddenhagen2012-12-031-0/+7
| | | | | | | | | complementary to QMAKE_RPATHDIR. this avoids that we need to sprinkle linux/gcc specific code all over the place. Task-number: QTBUG-27427 Change-Id: Iebafd1749d1a0d803704902473df8c743f074ddc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Stop using the name "Trolltech" in QSettingsSergio Ahumada2012-12-031-1/+1
| | | | | | | | | Also change Trolltech for QtProject in other places Task-number: QTBUG-23269 Change-Id: Ie4e344f23cab77c575562d18b481b3369ce30491 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove duplicate libraries added via prl files in WindowsMiikka Heikkinen2012-11-301-0/+17
| | | | | | | | | | | The LIBS statement generated into Makefiles contained duplicate libraries when application was linking static libraries. Fixed by adapting the logic from unixmake.cpp's version of processPrlFiles() to remove duplicates. Change-Id: I12e152900233d0376b7d7ac6cd18a92850a6d640 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix bootstrapped buildOswald Buddenhagen2012-11-291-2/+2
| | | | | | Change-Id: I8c987e8eed555c9c976732e216553d8002ee2b87 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qttools/d9dc9d34ec092ddc536a907b4f5009fb8bf01da4)
* fix non-qmake build of the evaluatorOswald Buddenhagen2012-11-281-1/+1
| | | | | | Change-Id: Ibbd00b415318bda928b5e6f9831b214e2657e291 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qttools/769fa282ac8a4b98698dada6969452363e0eb415)
* Add a -libexecdir option to the configuresThiago Macieira2012-11-281-0/+1
| | | | | | | | | | | | | | | | | | User applications are those that users run directly, whether it be for development or not. The executable binaries that the user does not usually run but is still required for proper functioning are called "program executables" in Autoconf and they are placed in libexec. This commit adds support for "program executables" in Qt by adding the -libexecdir option to the configures, the qmake variable QT_INSTALL_LIBEXECS (note the plural, to match all other properties), and QLibraryInfo::LibraryExecutables. At the time of this commit, the only expected "program executable" is the QtWebProcess, the WebKit2 helper process from QtWebKit. Change-Id: I66c3a3e0cf7f9d93b5f88f55f18e957faff608fc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* assign MAKEFILE even in non-subdirs MakefilesOswald Buddenhagen2012-11-271-0/+5
| | | | | | | | | | | | this is necessary for having a clean way to recurse even from leaf makefiles. the location where the variable is written in the makefile is somewhat bizarre, but the code is so convoluted that finding a better place would mean either a lot of duplication or a lot of prior refactoring. Change-Id: I68e4cf7e3814f6c60b2e3421d69775c993dafb23 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>