summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* qmake: Resolve QMAKE_INFO_PLIST against current working dirTor Arne Vestbø2013-02-261-1/+1
| | | | | | | | | We're not in the output directory yet, so resolving using vanilla fileFixify will end up failing when we check if the file exists, since QFileInfo resolves relative paths against the current directory. Change-Id: I414c6a2e83b49e3fb30e6153a49f7a90a8e528a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: Fix file paths in Xcode projects when shadow-buildingTor Arne Vestbø2013-02-261-5/+20
| | | | | | | | | | | | | | | | | The Xcode generator seems to have been written with the assumption that writeMakeParts() would be called with the output directory as the current directory, but that's not the case when shadow-building. Perhaps this was changed in qmake at some point, and the Xcode generator was not updated to reflect that. Instead of replacing every occurance of fileFixify and other logic to deal with paths, we just chdir into the output_dir for the duration of the function (except when writing the 'make qmake' makefile, as the regular makefile generator works as expected with the current directory set to the input directory). Change-Id: I6ba492036d73f29f4adbd7cd554db9504050629e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* qmake: Prevent Obj-C sources from building both as extra compiler and in XcodeTor Arne Vestbø2013-02-261-3/+13
| | | | | | | | | We already assume that if a source is buildable and should end up in OBJECTS we can let Xcode build it, so we skip this input for the extra compiler. Change-Id: I17b2408925b8e6513f0fa0d2459ec539bf7381d3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: Use PBXResourcesBuildPhase for QMAKE_BUNDLE_DATA without a pathTor Arne Vestbø2013-02-261-43/+57
| | | | | | | | | | | | | The PBXResourcesBuildPhase will optimize resources, such as turning XIB files into NIB files, running pngcrush on images, turning string files into binary plists, etc, so we prefer that if possible. Unfortunatly this phase does not support custom paths, so whenever we encounter bundle data with a custom path we fall back to the regular PBXCopyFilesBuildPhase. Change-Id: I539db03dd7982fd37293123b6428cdb695f64d2b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* qmake: Don't treat .xcodeproj directories as OUT_PWD when passed with -oTor Arne Vestbø2013-02-261-0/+5
| | | | | | | | | | | | | | | | | The Xcode generator creates a makefile for running 'make qmake', and the makefile passes -o to ensure it writes to the same Xcode project. This fails when qmake then treats -o foo.xcodeproj/project.xcproj as not only setting the output filename, but also the output directory to foo.xcodeproj, which results in the Xcode project trying to reference files relative to this directory, such as '../main.cpp'. Unfortunatly the output filename parsing happens too early for us to know whether or not the generator is Xcode, so we just have to assume that a certain combination of output filename and directories means we are generating an Xcode project. Change-Id: I0901d4db995f287c35cbbbd015683d5abda6d0f5 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* qmake: Prevent duplicate libaries from being added to the link phaseTor Arne Vestbø2013-02-261-15/+17
| | | | | Change-Id: I5ec7acb8f060e9d9bbd8cdb95d40ace03cffe9c7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* qmake: Don't generate Xcode project bundle identifiers with spacesTor Arne Vestbø2013-02-261-0/+1
| | | | | | | Replace them with dashes, like Xcode itself does. Change-Id: I302425363a2eef13394025cd4a9e414048ce55ce Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* qmake: Update Xcode generator to produce project files similar to XcodeTor Arne Vestbø2013-02-261-255/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | There was quite a bit of cruft left over from older Xcode version. We now produce Xcode 3.2 compatible files, similar to what Xcode would do when asked to upgrade one of our generated files. In particular: - Removed refType - Set more lastKnownFileTypes - Renamed defaultConfigurationIsName to defaultConfigurationName - Add runOnlyForDeploymentPostprocessing = 0 to build phases - Don't put buildSettings directly into PBXNativeTarget - Don't write productSettingsXML - Don't write startupPath - Don't write name when path is the exact same - Write empty buildSetting lists as empty string - Don't write empty PBXBuildFile settings - Don't write generated/neede filenames for PBXShellScriptBuildPhase - Use PBXFileReference instad of PBXFrameworkReference - Prune deprecated buildSetting variables - Remove deprecated PBXBuildStyle sections - Resolve correct CC/CPLUSPLUS/LDPLUSPLUS - Write IPHONEOS_DEPLOYMENT_TARGET Change-Id: Ia2365c2623fe898878bd10636c3b85145c1cff04 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Xcode: Change groups/build phase wording to match Apple's templatesTor Arne Vestbø2013-02-221-3/+3
| | | | | Change-Id: I286965a05750bc77b94ca4d3b76364b0130e32ed Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Xcode: Merge various sources and extra-compilers into more managable groupsTor Arne Vestbø2013-02-221-18/+18
| | | | | | | | | | | Instead of letting each qmake variable have its own auto-generated name we try to group common variables into similar groups as used by the Xcode templates provided by Apple. We also prevent the same files from ending up multiple times in a group. Change-Id: I73b13d6071bb7b3cd1501c422a99c60743221485 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* 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>