summaryrefslogtreecommitdiffstats
path: root/qmake
Commit message (Collapse)AuthorAgeFilesLines
* add some missing filename expandos to extra compilersOswald Buddenhagen2016-05-021-1/+9
| | | | | | | | | | | - QMAKE_FILE_IN_EXT as an alias for QMAKE_FILE_EXT, for consistency with QMAKE_FILE_IN_BASE - QMAKE_FILE_IN_NAME to make pairing _EXT/_BASE to get a full name unnecessary (finally ...), and make use of it - QMAKE_FILE_OUT_PATH, because i'll need it Change-Id: I3d91ddb84f9cce52a665d562da11d165c92550c8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* ensure that QMAKE_FILE_{IN,OUT}_BASE are quotedOswald Buddenhagen2016-05-021-2/+2
| | | | | | | it's beyond me why they shouldn't be. Change-Id: I2493469636e4f196bfeb2eb00a691aeae0f1881d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Possible crash in QMakeSourceFileInfoJesus Fernandez2016-04-291-30/+40
| | | | | | | | | CID 155005: Possible illegal access in string. Some loops were reading the buffer without checking the bounds. Change-Id: I910671a6d56808138ec2bb5d96bd7edf78b20f73 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Unchecked return value in QMakeProjectJesus Fernandez2016-04-291-4/+2
| | | | | | | | | CID 21629: The QMakeProject::read result was ignored. MetaMakefileGenerator::createMakefileGenerator will be called if the project was read. Change-Id: I9187c82efd1abedcaa8e394f1fdb0b7f35a2b1d7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fix Group-relative specification of files in generated Xcode projects.Jake Petroules2016-04-201-6/+6
| | | | | | | | | | | | | | | | | | | | Xcode does not recognize "<Group>" with a capital G, only "<group>" with a lowercase g. As a result, paths of files within these groups are calculated incorrectly. For example, dragging any external file into the Xcode project would result in its leading slash being removed (while still treated as an absolute path - broken reference). Furthermore, the dropdown in Xcode displayed the Group location as an invalid string instead of the correct "Relative to Group". This patch restores correct behavior. This fixes a regression introduced in f09ec09c208c75a16abe05b6bb505a1fc58775a6. Task-number: QTBUG-52701 Change-Id: I9af5360049a79e7958301e4090a9a542bab0af8c Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Fix dependency scanner being confused by UTF-8 BOMMATSUMURA Tetsuro2016-04-131-1/+8
| | | | | | | | | Update QMakeSourceFileInfo::findDeps to skip UTF-8 BOM if exists. Task-number: QTBUG-34182 Change-Id: I7a3e30ecab08f485c53e2ca2eab197619b11c2c7 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fix abuse of assignment-in-conditional (and the resulting warning)Joerg Bornemann2016-04-061-2/+2
| | | | | Change-Id: I2025e3360151c76982c45764cbee332855409dd0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake/wince: Deploy QPA plugin as well in Visual StudioAndreas Holzammer2016-03-221-0/+27
| | | | | Change-Id: Ia936290ddb61a85be18d903b64d4b11c709b0732 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* qmake: Fix wince dll deployment in Visual StudioAndreas Holzammer2016-03-221-0/+7
| | | | | | | | | | | | | | | This fix repairs the mechanism to deploy Qt dlls as well as C++ runtime to a wince target in Visual Studio. Do this by adding a deploy section in the Visual Studio solution and adding the C++ runtime from the mkspec to the files deployed to the target. Deploy target path is set to what the wizard of Visual Studio defaults to. Before, the c++ runtime was only deployed for executables which were built as part of Qt. Task-number: QTBUG-50924 Change-Id: I478010dc16e35c68578281895aa3ae14b5c96bb4 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* de-duplicate condition for default install targetOswald Buddenhagen2016-03-161-5/+2
| | | | | | | | | we can rely on the super class to get it right. as a "side effect", we won't try to install .pdb files for aux projects anymore - the duplicated conditional was incomplete. Change-Id: I9b66f32ab50ed2a1d4e6e03a9d205686a4b4a981 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* qmake: fix UB in QMakeParser::putHashStr()Marc Mutz2016-03-101-1/+2
| | | | | | | | | | | Found by UBSan: qmake/library/qmakeparser.cpp:278:33: runtime error: null pointer passed as argument 2, which is declared to never be null Guard the call. Change-Id: I99341ab439a511f366dae9344ddcc8727c33b9b6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* fix file separators in target.targets INSTALLSOswald Buddenhagen2016-03-101-1/+1
| | | | | | Task-number: QTBUG-51775 Change-Id: I8d9442bfd5084f1670b79dfdd422638bc62780aa Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove dead code re CONFIG+=generate_pbxbuild_makefileOswald Buddenhagen2016-02-191-39/+0
| | | | | | | | evidently, nothing and nobody sets this option, as it's been completely broken since 6234dec41f (qt 5.5) and apparently nobody noticed. Change-Id: I5a82ebd963a292af4689397875dde096f63d751a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* remove redundant namespace qualificationOswald Buddenhagen2016-02-051-2/+1
| | | | | | Change-Id: I9fdb7ccc60da2631bc74b3b0a8414c211f4c182f Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: use QString::replace() overloaded with QLatin1StringAnton Kudryavtsev2016-02-0412-44/+44
| | | | | | | | | instead of QStringLiteral, QString, const char*. Results: reduce .rodata, prevent re-creation of QString. Change-Id: Ie2e3089974c42e6733457bbe58521bccd1da3a53 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Use QFileInfo::exists(f) instead of QFileInfo(f).exists()Tobias Koenig2016-01-211-1/+1
| | | | | | | QFileInfo::exists(f) is somewhat faster than the version which creates an temporary object. Change-Id: I5f931a86d9dfad57d99efe04ca115422de43def9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Work around MinGW-make's magic prefixing of paths.Frederik Gladhorn2016-01-218-4/+38
| | | | | | | | | | | | | | | When building QNX on MS-Windows, make magically adds the Msys root as prefix to variables whose values look like paths; this applies to both environment variables and variables given values on the command-line. When we don't actually want to install under the Msys root, this is unwelcome "help". So (for MinGW's make) support a magic prefix of our own, @msyshack@, that'll make a path value for INSTALL_ROOT not look like a path to make; we can then strip it off when we come to use it. Change-Id: I951ad3c8fe3e5cfb49e6e361d7fff779f3a9d716 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* QMake: replace QStringLiteral with QLatin1StringAnton Kudryavtsev2016-01-217-16/+16
| | | | | | | ... in string comparisons. It's more efficient. Change-Id: I5d54ab7777a0838455eaaac671e735eb37bfe243 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Support precompiled header files without file extension in VS projectsJoerg Bornemann2016-01-181-1/+1
| | | | | | | | | | | | | | Having a precompiled header file without file extension (or without common file extension) led to an incorrectly generated Visual Studio project file. The custom build step for automatically generating the corresponding source file was missing. Remove the file extension check that apparently was yet another feeble attempt of runtime optimization. Task-number: QTBUG-50442 Change-Id: I0552f94be12cbb70e2f32c242c7364699979bd81 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* winrt: enable hardware buttons for Windows 10Maurice Kalinowski2016-01-141-0/+3
| | | | | | | | | | | | | | | | | | Previously the hardware and camera button handler were guarded inside a Q_OS_WINPHONE which does not apply to Windows 10. Instead use WINAPI_PARTITION_FAMILY like on other places, this covers Windows Phone 8.1 as well as Windows 10. To find windows.phone.ui.input.h at build time the Mobile Extension directory needs to be added to the include paths inside qmake. On runtime we need to check whether we have hardware buttons or not. In case they exist, register the handlers, otherwise skip registration. Skipping also helps to keep WACK succeeding. Task-number: QTBUG-50427 Change-Id: Ibeae15dbde12553cebd2b73b1a40b754c014f426 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* rewrite qtAddToolEnv()Oswald Buddenhagen2016-01-081-4/+0
| | | | | | | | | | | | | | | | | | | | | the primary purpose is making env var prepend mode work for unset variables on windows. this is achieved by using a conditional and delayed variable expansion. however, the latter is disabled by default and can be locally enabled only in batch files. therefore, write wrapper scripts and substitute them for the actual commands. we do this also on unix, both for consistency and simply because the commands look much less confusing. this change is slightly backwards-incompatible, as invoking qtAddToolEnv() multiple times on the same command will now make a total mess. also, invoking it on a command that contains 'make' macro expansions isn't a good idea, so testcase.prf needed an adjustment. the function is an undocumented internal, so Nobody Should Care (TM). this also reverts 80ebedecf9, as it's obsolete now. Change-Id: I8394b77868b495abcf27b688996ca74c40b80994 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* winphone: Invoke windeployqt twice unconditionally for vcprojMaurice Kalinowski2016-01-051-2/+2
| | | | | | | | | | | | | | | | In 50bf54c invoking windeployqt was only required in release mode as MDILXapCompile was not invoked for debug builds with Visual Studio 2013. However, Visual Studio 2015 invokes MDILXapCompile for debug and release. Hence we have to use this workaround unconditionally. Also we cannot limit this to msvc2015 host specs only, as older projects still might be loaded with Visual Studio 2015 causing the build to break. Task-number: QTBUG-49815 Change-Id: Ia120a392967319b945a9746ad489f2db0eed7156 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Correctly flag WinPhoneFrank Meerkoetter2016-01-011-1/+1
| | | | | | | | Fixes coverity CID21703. Change-Id: If9587c7cc49768066273a97fc56c3a662104f439 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* add enablers for printing project errors in cumulative modeOswald Buddenhagen2015-12-215-7/+15
| | | | | | | | | | this doesn't actually do anything in qmake. Change-Id: Ia14953a5a9dc31af56ad6c338017dd5b85bb4494 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qttools/08d0cb6f8e90a818bf6d3bec7a6d00f16419b8c0) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make CONFIG feature evaluation failure non-fatal in cumulative modeOswald Buddenhagen2015-12-211-1/+1
| | | | | | | | | | | | while we evaluate the features themselves in precise mode (which is the reason why they can error out), we do not want them to terminate cumulative project evaluation. Change-Id: I70f3e1bcb2ca04a70c74ff484749ca92c1cf6372 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from qttools/90ee4094161b427c32581bca2f5286edb4fffdb1) Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Add missing includes.Friedemann Kleint2015-12-211-1/+2
| | | | | | | | | | | | | After 90e7cc172a7521396bb2d49720ee4ceb9a9390b3, QStringList no longer includes QDataStream. This also reverts commit c1be0fbe7d17b67c330c0c90eb9ba8a0536c2121, which did the same in a worse way. Change-Id: Ib10622b0da3b3450d29fc65dc5356fde75444a8f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> (cherry picked from qttools/376501ae5a86859821c0e89b2e8fbc9906d11e07) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* make write_file() capable of making files (not) executableOswald Buddenhagen2015-12-214-13/+35
| | | | | Change-Id: I9ca96bc3408160261781697a3471c1f446c86c3a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* qmake: Combine two variables into an array to simplify a loop.Edward Welbourne2015-12-171-7/+5
| | | | | Change-Id: If787ed4a72c5fb91bb4a9e908ab3f6443b9358b9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: teach findMocs to handle backslash-newline gracefully.Edward Welbourne2015-12-171-36/+47
| | | | | Change-Id: Id71352c0cf71ab84bd81d4f3d11bb19dc7965903 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: simplify file-reading loop in findMocsEdward Welbourne2015-12-151-4/+4
| | | | | Change-Id: If436215c6041551782750f107021fcccbd447b32 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: teach moc-detector to handle C++-11 raw stringsEdward Welbourne2015-12-151-81/+85
| | | | | | | | As for the #include-parser, the moc-detector's minimal C preprocessor could be confused by a raw string into ignoring large chunks of code. Change-Id: Id688e9a1f04628ce75a51a7d15269078c734288e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: Fix comment false-alarm bug in findMocs().Edward Welbourne2015-12-151-0/+2
| | | | | | | | | | If a / wasn't part of a comment-start, it and the character after it were none the less stepped over. If the character after started an enclosure, this would duly be missed, leading to mis-parsing of the subsequent text. As for similar bug recently fixed in findDeps(). Change-Id: Ie5329ec633c23a554b42a6351723c980e27fb9a9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Rewrote qmake's #include-detection to be more faithful to CPP.Edward Welbourne2015-12-151-102/+236
| | | | | | | | | | | The C preprocessor allows backslash-newline anywhere and allows comments anywhere it allows space. Testing wilfully perverse applications of that revealed qmake's parsing of #include directives wasn't very robust. So rework to actually follow the rules and add those tests. Change-Id: If5cc7bfb65f9994e9ab9ed216dd1ee7285c63934 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Don't ignore first character after a string.Edward Welbourne2015-12-111-7/+4
| | | | | | | | | | | | The parser in QMakeSourceFileInfo::findDeps() would step over the closing quote of a string, only to have a for loop then step over the character just after that closing quote, which was thus never studied; this could lead to problems in various ways. Fixed that and expanded findDeps() test to catch regressions. Task-number: QTBUG-17533 Change-Id: I7dec5222e38fa188495b39376ffee70bc7bbc87f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Doc: do not claim that SUBDIRS.depends is only available for MakefilesJoerg Bornemann2015-12-091-1/+0
| | | | | | | This information is outdated. Change-Id: Ic2e10f7c858eed6f1b7c550995cb29004b4bd280 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Teach qmake's #include parser to recognize C++11 Raw strings.Edward Welbourne2015-12-081-9/+38
| | | | | | | | | | | | | Can't sensibly test unless the compiler does support raw strings, since any test that would catch qmake's (prior) inability to parse raw strings would necessarily confuse the C++ compiler in the same way. This even applies (in test app code) to any #if-ery around the raw string, since tokenization happens before preprocessor directives are resolved. So the #if-ery on Q_COMPILER_RAW_STRINGS has to be in tst_qmake.cpp, not the test app it builds. Change-Id: I4a461f515adff288b54fb273fd9996f9b906d11c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Remove Wow6432Node versions of Visual Studio registry keysJoerg Bornemann2015-12-082-33/+8
| | | | | | | | | | | | | The Visual Studio registry keys are stored in the 32 bit view. Extend qt_readRegistryKey with an option that enables the caller to choose the 32 bit or 64 bit registry view. We now read the Visual Studio registry keys from the 32 bit registry view even in a 64 bit build. Adding the next Visual Studio version will become a bit easier. Change-Id: I7300b992be6058f30a422e3f1fe0bafade6eea54 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Remove superfluous code from collectDependenciesJoerg Bornemann2015-12-041-5/+3
| | | | | | | val.first was never used. Change-Id: I7be631c09061d6969234502fc0d5660c147aca39 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
* vcproj generator: Fix auto-generated inter-project dependenciesJoerg Bornemann2015-12-041-1/+1
| | | | | | Task-number: QTBUG-49580 Change-Id: I356be24ac555ed436e4f638e83c6cca703281cba Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: Correctly handle shadow build of nested vcsubdirs projects.Mathew Sutcliffe2015-12-011-21/+3
| | | | | | | | | | | | | | | For some reason, the solution generator was looking for the vcproj files in the source tree. It should look for them in the output tree instead (suggested by Joerg Bornemann). This should handle both in-source and out-of-source builds, and the special-case code for handling out-of-source builds (which had a bug) can be removed. Task-number: QTBUG-49665 Change-Id: I40b5c5907c52ffb074ccb8f297bb5924eacc1cb0 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Simplify a search for terminator.Edward Welbourne2015-11-241-7/+4
| | | | | | | | | We need to remember where the included file's name starts anyway; if we move this to before the search for the end, we don't need a separate variable to keep track of its length. Change-Id: Ia8d72839ac3fa32f2e748a21ee70dcab614562f4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Comment to point out problem with CRLF handling.Edward Welbourne2015-11-201-0/+1
| | | | | Change-Id: I6352c5c68183207b9dfd332fbecc89c1c8c16d20 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Simplify a loop's set-up and control.Edward Welbourne2015-11-201-2/+2
| | | | | Change-Id: Ie9e002d7d7fb269f3a99cce98e4250a866523360 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Rework scan for keyword in preprocessor directive.Edward Welbourne2015-11-201-15/+11
| | | | | | | | | | | | | | | | | | When looking for the keyword in a preprocessor directive, we were checking for non-word characters to find its end. If that check failed (i.e. we had a word character) we would then check for EOL (which necessarily failed, on a word character). That made no sense. However, we genuinely have no interest in a directive with nothing after the keyword, so do check for EOL after the loop (once we've skipped spaces after the keyword). The loop itself was made needlessly complicated by, on finding the end of the keyword, skipping over later space inside the loop. Moved this outside the loop. Change-Id: Iccc2d445bf44deb75604e7fa60f2464e7397d8ed Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Skip spaces (after #) earlier to catch blank line or end-of-buffer.Edward Welbourne2015-11-201-8/+12
| | | | | | | | The C preprocessor does believe in a # [nothing] line; and we may as well give up before checking for keywords if we've run out of buffer. Change-Id: I64dc3ad2808435389d0d7b56dcbc9d92ae72aa6e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Avoid having division caught up in parsing of comments.Edward Welbourne2015-11-201-14/+13
| | | | | | | | | | | | | | | | | | A loop to skip space and comments was meant to break on anything else but would have not broken on a division operator (where it should) due to it getting caught in the check for a comment-start, without falling back suitably when it didn't complete that check. Managed to contrive a suitably twisted change to findDeps test to reveal the bug; broken previously, now fixed. Not ideal, as it relied on another bug to fail previously - backslash-newline shouldn't end a preprocessing directive line - but it should still pass once that's fixed, too. Exercising a bug in qmake usually involves code that won't compile anyway, making it tricky to write a test that reveals the bug but that passes once it's fixed. Change-Id: I08a1d7cc5e3d7fd1ac0a48e5c09dfdfbb7580b11 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Readability clean-up (purely cosmetic).Edward Welbourne2015-11-201-93/+97
| | | | | | | | | Principally *(buffer + expr) -> buffer[expr] changes, with some hspace normalization on affected lines. Made some empty loops more visible. Pulled out a repeated character class test as a function. Change-Id: I03d1b633550ad1814fa383d69ea04138dd0f82cd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Rip out the #qmake_warning "preprocessor directive".Edward Welbourne2015-11-201-17/+1
| | | | | | | | | | | | | | No-one is known to use it - we don't even have a test for it. It plays poorly with the real preprocessor and it has not produced any output since at least Qt 4.0 (unless qmake is invoked with at least one -d flag, drowning the output in level 1 debug output). This incidentally means no preprocessor directive we care about has an underscore in its keyword. Task-number: QTBUG-49487 Change-Id: I123a945c1dfe29d1d3ceee1129cfedc043f2e7d4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* MakefileGenerator::processSources() doesn't need to be virtual.Edward Welbourne2015-11-132-2/+1
| | | | | | | | Only VcprojGenerator over-rode it; and did so with a replacement identical to the one on the base, so there was no point to it. Change-Id: I5b899372247809c82b1cae25817e06c5849cd10d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Xcode generator: only replace the suffix in the library pathRichard Moe Gustavsen2015-11-091-2/+9
| | | | | | | | | | | | | | | | | | | | The Xcode generator iterates trought all libraries and replaces their suffix (e.g "_debug") with a placeholder that lets Xcode switch between different library versions depending on the target. The current way we do this fails when the name of a library happens to contain the string "_debug" (e.g "qmldbg_debugger"). Since we replace every occurrence of suffix in the path, we end up replacing that part as well. The result will be linking errors. This patch ensures that we only replace the last occurrence of the suffix in the file path. Task-number: QTBUG-48961 Change-Id: I9fafbe0ea0ad8b9cfd13448d6b28801106e645ec Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>