summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* qmake: Expose ARGC to qmake functions to be able to check argument countTor Arne Vestbø2013-09-212-0/+3
| | | | | | | | | ARGS already exists, but is a flattened list of the arguments, so both foo(bar, baz) and foo(bar baz) will give count(ARGS, 2), making it unreliable for validating arguments to qmake functions. Change-Id: I0bcc16614c64000169431327da48fd1a26708e67 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Don't create OBJECTS_DIR and friends for TEMPLATE = subdirsTor Arne Vestbø2013-09-211-1/+1
| | | | | | | | A bunch of empty and never-to-be-used directories makes the build tree noisy and harder to navigate. Change-Id: Iebef91c82d58a8d6a0047fb5439d50eb6806f557 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Sanitize QMAKE_EXTRA_COMPILERS paths in makefilesTor Arne Vestbø2013-09-211-7/+7
| | | | | | | | | | | | There was a mismatch of how we sanitized paths for dependencies of the target and how those dependencies were sanitized (or not sanitized), resulting in the target depending on 'some/path/foo.o' while the extra compiler target was named 'some/path//foo.o', with an extra slash. This confused 'make' enough to decide that it didn't know how to build the dependencies for the target. Change-Id: I181b86c291286cbbbb1f7b4c3b929a5f1dc163a3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Strengthen check for combined QMAKE_EXTRA_COMPILER with variable outputTor Arne Vestbø2013-09-211-3/+4
| | | | | | | | | | | | | The pattern ${QMAKE_ needs to be at the beginning of the line, or not start with a $ (which would make it a regular qmake variable). Also, it's fine that the variable is of the QMAKE_VAR_foo type, as these variables are resolved at generator time, but are constant and do not depend on the inputs. This means we have to replace extra variables in the output. Change-Id: I21ad24ae770f2137e2d5d92a20ee54e2f3f4ca06 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: added WMAppManifest generation for winphone targetKamil Trzcinski2013-09-172-0/+68
| | | | | | | | | | | | | | | Platform specific qmakespec needs to enable: autogen_wmappmanifest and winphone. Manifest will be generated once and only for the application template. The Manifest will generated from following variables: * PRODUCTID - the GUID (application specific) * PUBLISHERID - GUID (publisher specific) * TARGET - short application name (executable) * AUTHOR * PUBLISHER * DESCRIPTION - application description Change-Id: I225c24dc256c57451775e37658080e88b842a7d8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: added file deployment support for winrt and winphone targetsKamil Trzcinski2013-09-155-60/+123
| | | | | | | | | | | | | The user needs to specify the DEPLOYMENT variable. The syntax is the same as previously used for DEPLOYMENT. For more info please refer to the qmake documentation. The change adds a new itemgroup, "Deployment Files". All files in this itemgroup are marked as DeploymentContent and are then packaged with the application either as XAP or the WinRT specific file format. Change-Id: Icf85887287c1c97eb782704340eaa3f8dde6719e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: added support for WindowsMetadataFileKamil Trzcinski2013-09-153-0/+19
| | | | | | | | | In order to be able to use the linker's /WINMD and /WINMDFILE options Change-Id: I2673e20aa073c6b807e8c9f191fd408c7976efc4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: added CompileAsWinRT switch to the VCCLCompilerTool (the cl /ZW option)Kamil Trzcinski2013-09-153-0/+10
| | | | | | Change-Id: I2a67779bcb38af85a2c43d3e9a15aa3ba45b4788 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Use correct toolset version for winphone buildsOliver Wolff2013-09-152-4/+5
| | | | | | Change-Id: I9ecd9f632d0201e060de5cce4782912efdc6bd32 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: enable default reference for all winphone targetsKamil Trzcinski2013-09-151-0/+10
| | | | | | | | | The change adds a new ItemGroup with a single library reference: platform.winmd. Change-Id: I0c7f4c46654b520afb79b6c6f49b5f2d1af400d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: added VCPROJ_ARCH variable.Kamil Trzcinski2013-09-151-4/+13
| | | | | | | | | | | | It's a generic way to configure the Visual Studio Solution architecture. It's added to support different project architectures, ARM specifically. It may be a good idea to replace the Win32 and x64 with VCPROJ_ARCH=Win32 and VCPROJ_ARCH=x64 defined in corresponding qmakespecs. Change-Id: I9b23f7393bf248a629c425187d6dd8859092c45c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: added WinRT and WinPhone configuration switchKamil Trzcinski2013-09-154-2/+29
| | | | | | | | | qmakespec for either WinRT or WinPhone have to specify QMAKE_PLATFORM with winrt and/or winphone. Change-Id: I87e0063881e6edd65de14adb006949247ce49904 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Create clean makefiles for winrt buildsAndrew Knight2013-09-151-0/+93
| | | | | Change-Id: I33b74b98e04c1a9ca15ae07fad88f88dd4ce0669 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge branch 'stable' into devSergio Ahumada2013-09-131-1/+2
|\ | | | | | | | | | | | | | | Conflicts: src/concurrent/qtconcurrentmedian.h src/corelib/itemmodels/qabstractitemmodel.cpp Change-Id: Iac46a90bbb2958cef7670031a4b59c3becd8538a
| * fix finding qmake.exe when called on the command line as ... qmake.exeOswald Buddenhagen2013-09-091-1/+2
| | | | | | | | | | | | Task-number: QTBUG-33333 Change-Id: I026659fc779d1cf2fde46b5bcb4990b151b8c51e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Doc: Add a dependency to qtdoc for qmake manualTopi Reinio2013-09-111-0/+1
| | | | | | | | | | | | | | | | | | | | qmake manual needs to be able to link to pages in qtdoc module, for example, to information about Third Party Libraries. Change-Id: I6ccaa0c3aecc54bd5d76c6b1573c797423048207 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devSergio Ahumada2013-09-077-37/+32
|\ \ | |/ | | | | Change-Id: I9ee4176f0a0078908d49896508826154c9f71530
| * Ensure the input file is first in the list of dependenciesAndy Shaw2013-09-031-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building a project in VS then it would cause a rebuild under certain situations even though a rebuild is not actually required. The root problem exists in VS in the following configuration: 1. A file has a custom build tool specified 2. The custom build tool has additional dependencies 3. The input file is specified in the additional dependencies 4. There are files in the additional dependency list This is the situation with form files in Qt that have include hints specified in Qt Designer. The include hints get specified in the additional dependencies for the custom build tool. What happens is that VS will process files in the additional dependency list differently based on where they appear in the list relative to the input file. If a dependency appears before the input file, VS will require the file as a build input. If you just specify a file name, VS looks in the project directory (and only the project directory) for that file. You have to specify the path (relative or absolute) to get VS to look elsewhere. If VS does not find the dependency, VS thinks the project is out of date (since the missing dependency is a required build input) and will rebuild the input file. If the dependency appears after the input file and the file doesn't exist, VS does not include the dependency as a build input. Since the file is not a build input, no rebuild is required. Change-Id: I5af460d21ad049ed7819746fd60c98677b810692 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * de-duplicate code for writing dummy makefilesOswald Buddenhagen2013-08-275-29/+22
| | | | | | | | | | | | | | | | | | | | as a side effect, this fixes the generators that were more bitrotted (nmake and even more mingw). Task-number: QTBUG-30644 #close Change-Id: Iefa3f07125884412d091aa12b44935e5b1fb858a Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Doc: update Project Options section in qmake ManualLeena Miettinen2013-08-271-2/+4
| | | | | | | | | | | | | | | | | | | | Explain which mkspecs have the configuration option precompile_header set. Task-number: QTBUG-25683 Change-Id: I9b11eafad16b65523cbb90897fe88829add58bea Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-272-9/+14
|\ \ | |/ | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| * Doc: update description of qmake SUBDIRS variableLeena Miettinen2013-08-262-9/+14
| | | | | | | | | | | | | | | | | | | | | | You can specify a relative path to a .pro file in any directory. Fixed a capitalization issue and a grammar issue and changed the visible text in a link target. Task-number: QTBUG-14139 Change-Id: Ib476bd400c46645709950c582492edcaaba9d7ed Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | avoid deadlock in cache() during spec/cache loadingOswald Buddenhagen2013-08-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | sync up; this doesn't actually do anything in qmake. if we end up calling cache() from within the initialization of the base context, we cannot wait for for the completion of that initialization before we proceed, obviously. Change-Id: If30c6f3665fe423e767373a8821c406b2f5e0eca Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com> (cherry picked from qtcreator/b64b4431c20afd9e39c1463e736f998ef450688f)
* | lock baseEnv in cache()Oswald Buddenhagen2013-08-272-34/+58
| | | | | | | | | | | | | | | | | | | | | | | | sync up; this doesn't actually do anything in qmake. as we modify the environment, it must be properly locked. this implies that initFrom() also needs to be called with a lock. Task-number: QTCREATORBUG-9835 Change-Id: I48bae9af9adaa0518e5a9db0ba08ff057ae14f9f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtcreator/d022a2d19cecb00397c2a215fc4e3bf64b1e627b)
* | always check for baseEnv init failureOswald Buddenhagen2013-08-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | sync up; this doesn't actually do anything in qmake. creator's file watcher can trigger many parallel, entirely non-hierarchical project reloads. if there is enough of them to exceed the thread pool size, some will be serialized already by qtconcurrent, not by our wait condition. these should notice a faulty spec, too. Change-Id: I8ce40cb90fbc28045127881d57ec94e125df79af Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qtcreator/759d0a69dd3973b4785b6f9412f46666a05cdf85)
* | remove support for Qtopia's QOM_OBJECT macroJoerg Bornemann2013-08-261-8/+3
| | | | | | | | | | | | | | That's not been in use for quite a while. Change-Id: If5a18a54d32f330fe37655516d4b83e5d3d30afc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-218-8/+143
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/src.pro Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
| * Doc: public test functions in function librariesLeena Miettinen2013-08-152-0/+135
| | | | | | | | | | | | | | Task-number: QTBUG-29168 Change-Id: Ife486d65778ee2ac2d6e1e55f26942bda0bbdbb0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * Don't compile MD4, MD5, SHA-2 and SHA-3 into qmakeThiago Macieira2013-08-156-8/+8
| | | | | | | | | | | | | | | | We just need one digest algorithm, any algorithm, to generate a somewhat unique identifier. SHA-1 will suffice. Change-Id: I3cb26bf866d616df3ef32feace10934f19daa1a6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | change reporting of missing filesOswald Buddenhagen2013-08-201-3/+4
| | | | | | | | | | | | | | | | | | | | use the new parser flags to report all i/o errors directly. as a notable side effect, the "WARNING" prefix is gone (even though it is still treated like that, which is mildly insane to start with). Change-Id: I084375d5e7a3314ae763795f7c318804a9fb84b6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | complain about absent files to -pro argument (in lupdate)Oswald Buddenhagen2013-08-202-6/+7
| | | | | | | | | | | | | | | | | | this doesn't actually do anything in qmake. Change-Id: I908fc3792bdc321370e51be98adf7a9c81e37a85 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qttools/e1f3732197ef77a29cb7f3c1ce094b3f31a7b689) (cherry picked from qttools/226f013441990aa4a58f7c82e284057cff659959)
* | avoid boolean argument trap: introduce QMakeParser::ParseFlagOswald Buddenhagen2013-08-203-4/+12
| | | | | | | | | | | | | | Change-Id: I26ce032a1aa044e9a4da0c8708a4490b07374992 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> (cherry picked from qttools/066b08fc62c67d586996ea4e272ef05dd3865fac) (cherry picked from qttools/226f013441990aa4a58f7c82e284057cff659959)
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-143-1/+55
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-xcode/Info.plist.app mkspecs/macx-xcode/Info.plist.lib qmake/doc/qmake.qdocconf src/corelib/global/qglobal.h tests/auto/other/exceptionsafety/exceptionsafety.pro tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I3c769a4a82dc2e99a12c69123fbf17613fd2ac2a
| * Fix SONAME handling on androidStephen Kelly2013-08-131-0/+3
| | | | | | | | | | | | | | | | | | | | Set the SONAME to the library name without the major version number appended, as android does not have the versioned symlinks. Change-Id: I41c504869019a393a3f112b2f7fc81c7ad5afa1c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
| * Doc: fix links to documentation in other modulesLeena Miettinen2013-08-081-0/+49
| | | | | | | | | | | | | | | | | | | | | | Add the depends variable with all modules as values, because the QT variable value documentation should list the import statements for all modules. This patch enables linking to other modules. Change-Id: I521ac22bac27d79537c14583f6592251288974a4 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * Doc: Add keywords for qmake variable/function reference pagesTopi Reinio2013-07-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the Help mode in Qt Creator, many have accustomed to search e.g. for 'qmake variable reference' which no longer exists as a title in the qmake documentation. This change provides easier access to the qmake reference by creating keywords for them, making them appear in search results for searches starting with 'qmake'. Task-number: QTBUG-32268 Change-Id: If60a0cdc11464a8aeb50c62ddbde9683326e1384 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Doc: Fixed qmake manual's images and snippets directories.Jerome Pasion2013-08-1335-184/+183
| | | | | | | | | | | | | | | | | | | | | | -corrected qmake.qdocconf file to not read the manual twice -moved the snippets and images directories to make sure they are not in the src directory Task-number: QTBUG-32580 Change-Id: I7b702ce3b1c8709bbb1f473f70625083242f1a40 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* | Doc: add winextras to the list of QT variable valuesLeena Miettinen2013-08-082-0/+4
| | | | | | | | | | | | | | | | | | Qt Windows Extras is a new add-on for Qt 5.2. To make the link work, also added qtwinextras to the doc configuration file. Change-Id: Ib7d117908c241812c200ec701b6f2be27fe893c6 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | implement simple VFS to support caching during project parsingOswald Buddenhagen2013-08-0714-73/+321
| | | | | | | | | | | | | | | | | | | | | | | | sync up with qt creator - for qmake itself, this is just a minor refactoring. Change-Id: I833253f81c3159056fab2ff888f293b36cc2ef56 Reviewed-by: Daniel Teske <daniel.teske@digia.com> (cherry picked from qtcreator/66802ef8bf7989dc025e34bf91d93576189c483c) (cherry picked from qtcreator/69542826fa643a0fed2fc9e717f072c2852dc017) (cherry picked from qtcreator/196424115338fb9a535810704b7d814d318b0462) Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-07-237-59/+121
|\ \ | |/ | | | | | | | | | | Conflicts: tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
| * don't install mac bundles atomicallyOswald Buddenhagen2013-07-222-26/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... as that causes debug+release installs to overwrite each other's postprocessed files. introduces CONFIG+=sliced_bundle, which instructs qmake to create file-by-file install commands. we don't know whether people are not putting files outside qmake's knowledge into the bundle build dir, so this mode is not necessarily backwards-compatible, and thus off by default. Task-number: QTBUG-28336 Change-Id: I23e90985ccd3311f0237ed61aadca6d7ed8325b7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * mac frameworks: link target alias to Current versionOswald Buddenhagen2013-07-221-3/+2
| | | | | | | | | | | | | | | | | | | | | | by convention, $target.framework/$target links to Versions/Current/$target, not Versions/$version/$target. Versions/Current already links to $version. so this adds one indirection, but is otherwise the same. Change-Id: If3d1a3713712f4221ec31883977e50bce6f91764 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * fix target strip-ing inside mac bundlesOswald Buddenhagen2013-07-221-8/+13
| | | | | | | | | | | | | | | | this went unnoticed so far, because the mac qmakespecs don't define a strip command to start with. Change-Id: Iac3e7ffa6f400373552134a44b9713aaf5f44589 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * make unescapeFilePath() less inefficientOswald Buddenhagen2013-07-221-6/+2
| | | | | | | | | | | | | | replace() doesn't detach if there is nothing to do. Change-Id: I845b585c766f44a670ca3af1fc11ba03e7317622 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * escape paths coming from prl filesOswald Buddenhagen2013-07-222-3/+9
| | | | | | | | | | | | | | | | | | | | | | qmake has the rather bizarre logic that QMAKE_LIBS* is escaped rather early (instead of right before being written out the the Makefile). consequently, we need to explicitly escape the paths from the prl files as well. Task-number: QTBUG-32326 Change-Id: Ieaf81113d3ca3cf5d8a1ef87c83c5721d6b473ee Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * unbreak use of not-overquoted ICON entriesOswald Buddenhagen2013-07-221-3/+2
| | | | | | | | | | | | | | amends 0e548b5856. Change-Id: I88a5b8c681f7508aecf02b913e64816b712d97a2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * fix c-quoting of strings which contain quotesOswald Buddenhagen2013-07-221-1/+1
| | | | | | | | | | | | | | | | escape backslashes before the quotes, as otherwise we'd escape the backslashes we just used to escape the quotes. Change-Id: I88e12c0c2cfc53e0ab8dce9807b06dfce6aa6e78 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * resolve output of .depend_command relative to $$OUT_PWDOswald Buddenhagen2013-07-221-4/+28
| | | | | | | | | | | | | | | | | | | | ... as that is the CWD of the command (since b139e7e96e5c). leave the resolution relative to $$PWD as a fallback with a warning. Investigated-by: Harald Hvaal <hhvaal@cisco.com> Task-number: QTBUG-19352 Change-Id: I75de9444a647cd9e6f509e3d8eb3382dc985e5ca Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Changed digia contact details to */legal, updated licensesTeemu Kaukoranta2013-07-202-2/+2
| | | | | | | | | | | | | | | | Scripts are available in internal mkdist repo. Added license tags, updated licenses and copyrights/contacts Change-Id: Ibc734275f3000987eaa4f5c57f19d4e1fda2c479 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
| * un-clash iterator namesOswald Buddenhagen2013-07-151-8/+8
| | | | | | | | | | Change-Id: I96b995c7f6dec06f75a61e109c419c9204744d90 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>