summaryrefslogtreecommitdiffstats
path: root/qmake/generators
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Don't compile MD4, MD5, SHA-2 and SHA-3 into qmakeThiago Macieira2013-08-153-5/+4
| | | | | | | | 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>
* 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>
* 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>
* undo accidental string mergeOswald Buddenhagen2013-07-151-1/+1
| | | | | | | amends 51980595e1. Change-Id: Ie4fd4a6d762f4c87dabd7d3124f3397b0f853b77 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* MANIFEST:NO is not written to vcprojKatja2013-07-051-0/+2
| | | | | | | | | | | When defining QMAKE_LFLAGS += /MANIFEST:NO to pro file, it is not written to vcproj in VS2008. Added MANIFEST:NO generation to vcproj Task-number: QTBUG-31975 Change-Id: I5f84b30db711bf9c317ca20dc65b207140edb398 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* merge string literalsOswald Buddenhagen2013-07-047-540/+540
| | | | | | | | makes for less visual noise and a tiny bit more efficient code. Change-Id: I587707fa4e2dc9bead9435bf5caf3a98ab680725 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* VPATH resolution: don't crash when $(FOO) expands to nothingOswald Buddenhagen2013-07-041-0/+4
| | | | | | Task-number: QTBUG-29988 Change-Id: Ice3dc28002fc70e70fecc5d61bd0b32260ac0d50 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add support for Visual Studio 2013Joerg Bornemann2013-07-043-1/+16
| | | | | | | | | | Add mkspec win32-msvc2013 and make VS 2013 known to configure and qmake. Change-Id: I6e63a4d679727a8a3f068f377956185996d72bce Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Only add the res_file to the generated files if there is no rc_fileAndy Shaw2013-07-021-1/+2
| | | | | | | | | | If both the rc_file and res_file was added to the project then in MSVC 2012 it would cause an error complaining of a duplicated resource. Task-number: QTBUG-29826 Change-Id: Ib3401b423208cd8c90895038c9cbadd80c39b542 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qmake: Change two scopes to mac instead of macxTor Arne Vestbø2013-07-021-2/+2
| | | | | | | As they apply to both OSX and iOS. Change-Id: I6ea9c80f9cf3fd593723ae449f16d7905f68545e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* basic manifest tool support in vc(x)proj generatorJoerg Bornemann2013-06-255-0/+58
| | | | | | | | | | | The removal of embed_manifest_dll or embed_manifest_exe from CONFIG now disables the embedding of manifests in VS project files. Task-number: QTBUG-5301 Change-Id: I031318883edca6f9b63a7981ef6c44e3f123f6fd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Don't depend on the command for extra compilers automaticallyAndy Shaw2013-06-201-1/+0
| | | | | | | | | | | | For vcproj files we should not automatically add a dependency for extra compilers as this should be done via the depends variable for the extra compiler instead. This fixes a problem where something like '@echo command' was used in the command as it would depend on echo and not the actual command anyway. Change-Id: I7c0aa0d62143aa39c518e8bce65f302afdba33c9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Xcode: Don't set TARGET_BUILD_DIR; that's handled by a copy phaseTor Arne Vestbø2013-06-111-1/+1
| | | | | | | | | | | This reverts an earlier change that tried to fix the relationship between Qt's concept of output directories with what Xcode expects, but it broke DESTDIR. The relationship between Qt and Xcode is still a mess, but at least DESTDIR now works. Change-Id: I44f056d48c87359a609e0337da266120ba4eb155 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Changed project dependencies for solution filesAndrew Patterson2013-06-051-17/+27
| | | | | | | | | | Reorganized project dependency output in solution files for vc 2005+ Task-number: QTBUG-30993 Change-Id: I4764f3d98be40b3e217130522bb89a43bbf3669e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-05-311-9/+2
|\ | | | | | | Change-Id: I0a8fe79a80b7720f76e3c0b03cc2c9a769d4009b
| * fix PlatformToolSet tag location in vcxproj filesJoerg Bornemann2013-05-301-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The PlatformToolSet tag belongs into the PropertyGroup with the label "Configuration". The former location in an anonymous PropertyGroup tricked Visual Studio into displaying the right PlatformToolSet but using its default value. If VS 2010 and VS 2012 are freshly installed on the same machine, the default toolset for VS 2012 is VS 2010. Task-number: QTBUG-30822 Change-Id: If00a532e92b0812c552b1cac52ff77a1e7039146 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | remove pointless QString::arg callJoerg Bornemann2013-05-301-1/+1
| | | | | | | | | | Change-Id: I6838e73c68a2d16ecb053f897e81b06d7186a166 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | fix license headersJoerg Bornemann2013-05-302-2/+2
|/ | | | | Change-Id: I10738f89cc0f8629adb787b2477d4170ff4d44e3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake/vcxproj: do not set ProgramDataBaseFileNameJoerg Bornemann2013-05-071-1/+0
| | | | | | | | | | Visual Studio's default value is perfectly fine. Task-number: QTBUG-29757 Change-Id: Ic334287539bb849f3b74d255d3991a09008cd357 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* qmake/vcxproj: remove unused codeJoerg Bornemann2013-05-071-2/+0
| | | | | Change-Id: I5ac0ae534a7b3205d61cf2980594b74c1ed926a7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake/vcxproj: fix parsing of /RTC* optionsJoerg Bornemann2013-05-072-14/+30
| | | | | | | | | /RTCsu and /RTCus must be handled as full runtime check options. Task-number: QTBUG-30711 Change-Id: I783bf49f2ab1d4fd9636dca8e434bccb54844c8c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake/vcxproj: resurrect support for /we compiler switchJoerg Bornemann2013-05-073-1/+8
| | | | | | | | | | | | The vcxproj format supports the /we compiler switch as TreatSpecificWarningsAsErrors tag. Support for this switch got lost during refactoring of the vc(x)proj generators for Qt 4.8.0. Task-number: QTBUG-29098 Change-Id: I607e907dcb9c1bc7d261053b6d757941ec7db822 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix quoting issues in vcxproj generatorJoerg Bornemann2013-04-291-2/+2
| | | | | | | | | | | | | Fix passing of preprocessor definitions with double quotes to the resource compiler and to MIDL. Both have a different escaping mechanism then the C/C++ compiler tool. This fixes a regression introduced in 9e9911715c37511ece018aa9d36491b77872501b. Task-number: QTBUG-30859 Change-Id: Ifa041df407030320847373a5964a547c39dd5439 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Write two missing linker options to the vcxproj fileAndy Shaw2013-04-111-0/+4
| | | | | | | | Both the /NXCOMPAT and /DYNAMICBASE options were handled by qmake but never written to the vcxproj file even if they were set in the pro file. Change-Id: I4ca26fb312648944c25d3a24cdc8c640c9de619d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Android: Backslash workarounds for Unix Makefile generatorRay Donnelly2013-04-101-10/+14
| | | | | | | | | | | | | | | If mingw32-make.exe encounters a backslash as the last character on a line it interprets this as signifying line continuation. When building Android Qt on Windows via cmd.exe, this happens as backslashes are used on Windows as directory separators. The workarounds are to make sure that a comment appears directly after the definition of DESTDIR and that a space ends such $(MOVE) command lines. Change-Id: I7f93b655e004edaadac41d0d96bca23e1ba3a85c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake/nmake: do not remove NDEBUG from DEFINESJoerg Bornemann2013-04-092-6/+1
| | | | | | | | | | | In ebc4fb45 all NDEBUG defines were removed from DEFINES to adjust the nmake generator's behavior to the vcproj generator. Turns out that the vcproj generator did it wrong. The user must be able to specify NDEBUG in DEFINES. Change-Id: Iaaf3915ac79acbbd1e7a3172ad3951d0d686041b Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add spaces around the components of a pkg-config Cflags: fieldThiago Macieira2013-04-091-3/+3
| | | | | Change-Id: I91c301adaaf62cf24be0203785282c375c9d01e1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Android: Split Unix Makefile generator's $(MOVE) commands upRay Donnelly2013-04-081-2/+6
| | | | | | | | Split $(MOVE) commands up into one per file so that cmd.exe's builtin move command can be used. Change-Id: Ife8d7449a2d7718a67082e2d78954964033ce07d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake/Win: disable "find highest lib version" feature by defaultJoerg Bornemann2013-03-261-1/+1
| | | | | | | | | | | | | The undocumented feature of linking the library with the highest version number is more confusing than helpful. We're changing the default from on to off now. Users who still need this feature can turn it on with: CONFIG += link_highest_lib_version Task-number: QTBUG-15596 Change-Id: Ic998c1685003caa6f57e27dccf83c8b4a2a09553 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Introduce QMAKE_CC_O_FLAGLaszlo Papp2013-03-253-6/+9
| | | | | | | This makes it possible to properly parametrize alternative compilers. Change-Id: Iaf0961c47875ee16d815356f36acf5652577cdca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix leak when fd != -1Montel Laurent2013-03-231-2/+8
| | | | | Change-Id: I07bcf4b678460c86642436d1a69071f765ef63ca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Merge remote-tracking branch 'gerrit/release' into stableSamuel Rødal2013-03-215-33/+29
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/qt_module_headers.prf mkspecs/features/qt_tool.prf src/angle/angle.pro src/tools/bootstrap/bootstrap.pro tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp Change-Id: Ide5759fe419a50f1c944211a48f7c66f662684e0
| * fix setup of output directory for subprojects in IDE generator backendsOswald Buddenhagen2013-03-152-5/+9
| | | | | | | | | | | | | | | | | | | | | | unlike before, the output dir is now important already during the project evaluation phase, as finding .qmake.conf depends on it if .qmake.cache is also present. ChangeLog: fixed qmake -tp vc (and configure without -no-vcproj) Change-Id: Ifdb95f3b38a70c0d08e71238059292e761dcfa53 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
| * fix parallelized "jom install"Oswald Buddenhagen2013-03-152-22/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unlike unix' mkdir -p, windows' md complains if the directory already exists. the workaround is a quite complex command, so the so far used concept for assembling the command line from pieces was replaced with a single template. for symmetry, adapt the makefile existence check to the new concept as well. QMAKE_CHK_EXISTS and QMAKE_MKDIR_CMD were added, with hard-coded fallbacks (ugly). QMAKE_CHK_FILE_EXISTS and QMAKE_CHK_EXISTS_GLUE (introduced in 5.0.0) are simply deleted again. QMAKE_CHK_DIR_EXISTS and QMAKE_MKDIR remain for legacy reasons, as qmake emits them into the Makefiles, and custom commands may rely on their presence. Task-number: QTBUG-28132 Change-Id: I3d049cb5d26947e5c3d102d0c2da33afb2a95140 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * actually use the temp variable we just assigned ...Oswald Buddenhagen2013-03-121-4/+4
| | | | | | | | | | Change-Id: I535a4bfc268a07d6b1813e47cdae862e5e459efc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * do not append a trailing slash to output directoryOswald Buddenhagen2013-03-121-2/+0
| | | | | | | | | | | | | | it's entirely counterproductive and confuses the subsequent code. Change-Id: Iadcfd2af80acd2d7ed50807b3e001e26d83075a5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge "Merge branch 'dev' into stable" into refs/staging/stableSergio Ahumada2013-03-209-368/+350
|\ \
| * \ Merge branch 'dev' into stableOswald Buddenhagen2013-03-209-368/+350
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This starts Qt 5.1 release cycle Conflicts: src/gui/text/qfontdatabase.cpp src/gui/text/qharfbuzz_copy_p.h src/widgets/kernel/qapplication.cpp src/widgets/kernel/qcoreapplication.cpp Change-Id: I72fbf83ab3c2206aeea1b089428b0fc2a89bd62b
| | * | Add an initial TI linker support for the unix qmake generatorLaszlo Papp2013-03-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-30215 Change-Id: Ica283e6b7f67563504ed81f4db1c2218fe5e8b8c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>