summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/winmakefile.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Warn about conflicting DESTDIR/TARGET combination in debug_and_releaseJoerg Bornemann2019-08-091-0/+5
| | | | | | | | | | | If a project has DESTDIR and TARGET set to fixed values, then the target paths conflict when doing debug_and_release builds. With this change we're detecting this situation and yield a warning. Fixes: QTBUG-2736 Change-Id: Ib163db3463322792ab9fa5b997285ac9fc9819ab Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-06-141-1/+1
|\ | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/unix/unixmake2.cpp src/corelib/thread/qthread_unix.cpp tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp Change-Id: I1df0d4ba20685de7f9300bf07458c13376493408
| * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-06-071-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp src/plugins/platforms/cocoa/qcocoaintegration.h src/plugins/platforms/cocoa/qcocoaintegration.mm Done-With: Jörg Bornemann <joerg.bornemann@qt.io> Change-Id: I5a61e161784cc6f947abe370aab8f2971a9cbe78
| | * qmake: CleanupKai Koehne2019-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix clang warnings that are disabled in the default build. Change-Id: I4e773a24884db94acdc6c295d3f66da07cd8a5bd Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* | | Deduplicate initialization code for default variablesJoerg Bornemann2019-05-161-23/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the writeDefaultVariables method also for the Win32MakeFileGenerator. Remove the initializations that are already done in Makefile::writeDefaultVariables. Change-Id: I590cc5d7031de67dd830e6113849ab080dbf2325 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Clean up class definitions of makefile generatorsJoerg Bornemann2019-05-161-4/+0
| | | | | | | | | | | | | | | | | | | | | Remove pointless constructors and destructors. Change-Id: I7aea8587bf3598b6f5324aac8898edf227475d63 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Prefix textstream operators with Qt::Lars Knoll2019-05-021-54/+54
|/ / | | | | | | | | | | | | As the non prefixed variants are deprecated Change-Id: I2ba09d71b9cea5203b54297a3f2332e6d44fedcf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-03-061-2/+4
|\| | | | | | | | | | | | | Conflicts: src/network/access/http2/hpacktable_p.h Change-Id: Ie0c296667dfdebba84f4858056a1ac80c24ee7df
| * Fix library search path order on WindowsJoerg Bornemann2019-03-031-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit 2327944d added the QMAKE_DEFAULT_LIBDIRS to the library search paths without taking care that explicit library search paths should be inserted before system search paths. Copy the behavior of the UnixMakefileGenerator, esp. of commits 5bc9541e and e185f343. Fixes: QTBUG-73959 Change-Id: I7e951f432bb5f71ce4bcdb18b7102b4380441181 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-261-0/+2
|\| | | | | | | | | | | | | | | Conflicts: src/android/templates/AndroidManifest.xml tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp Change-Id: I4c9679e3a8ebba118fbf4772301ff8fde60455b9
| * qmake: use default libdirs to search for prl libsSamuli Piippo2019-01-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Default libdirs are never added to the modules' LIBS and if Qt was configured to use one of the default libdirs, module might end up without any path to search for its prl files. Add default libdirs to the search path similar as it's done in unix/makefile generator. Fixes: QTBUG-72855 Change-Id: I43c5bae0d54ba9427ab0ad3eab61ba0c4e2cbde8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-071-0/+2
|\| | | | | | | Change-Id: Ieb57137ee2b7d0c505e3531d5aa1bcb66978847e
| * qmake: add QMAKE_EXPORTED_VARIABLESOswald Buddenhagen2019-01-051-0/+2
| | | | | | | | | | | | | | because QMAKE_EXTRA_VARIABLES sometimes just ain't enough. Change-Id: I739e5b6510e4701ca0a86834e4f9a978d7ef1cf4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Compile with QT_STRICT_ITERATORS definedLars Knoll2018-11-261-2/+2
|/ | | | | | | This will be the only options for Qt 6, so make sure the code compiles now. Change-Id: I23f791d1efcbd0bd33805bb4563d40460954db43 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* qmake: make sure QMAKE_LIBS{,_PRIVATE} comes after LIBS{,_PRIVATE}Oswald Buddenhagen2018-10-121-4/+7
| | | | | | | | | | the early merging of LIBS* into QMAKE_LIBS* meant that we could not interleave them properly. defer the merging until the points of use. Task-number: QTBUG-70779 Started-by: BogDan Vatra <bogdan@kdab.com> Change-Id: I890f98016c3721396a1f0f6f149a9e2b37d56d8e Reviewed-by: Liang Qi <liang.qi@qt.io>
* qmake: rework .prl filename constructionOswald Buddenhagen2018-08-301-1/+2
| | | | | | | | | | | instead of trying to reverse-engineer it from the final target including extension and possible bundle path, construct the basename explicitly. this avoids that we mangle the filename if the actual target contains a period for some reason. Task-number: QTBUG-70097 Change-Id: I0bae9f010ab82e258680830250f8e28656f09d67 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qmake: Apply modernize-use-nullptrAlessandro Portale2018-08-081-3/+3
| | | | | | | Use nullptr instead of 0. Change-Id: Ib3120b9c424a274a2d4dd4c42ec5d7cd5bdead65 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* qmake: get rid of (some) makefile expansions in dependency pathsOswald Buddenhagen2018-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | the variables are quoted correctly for commands, which is incompatible with quoting for dependencies under mingw. so insert the paths as literals, where we can control quoting. this fixes building in directories with spaces, which i broke in 7c34e0a7b by using different quoting styles for deps and commands in the first place. this breaks the hypothetical use case where somebody wants to override TARGET or DESTDIR (or DESTDIR_TARGET under windows) on the *make* command line. not sure why anyone would do that - just do it at the *qmake* level. we did not get rid of OBJECTS, because that would cause significant duplication in the makefile (not that it would matter too much, given the dependency lists ...). this isn't a problem, because these are short relative paths which are not expected to contain "funny" characters. an alternative would have been to change the variables' quoting and eliminate them from the commands instead, but that would be backwards-incompatible, because commands are "user-servicable". for the same reason, we cannot get rid of the variables entirely. Change-Id: Ic7592c7fc67d8b7d2b64de80808365cd1c3f79d0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qmake: fix lookup of .prl files for libs specified by full filenameOswald Buddenhagen2018-07-161-0/+17
| | | | | | | | | | | | | | | | | | | under windows, libraries can have a numeric suffix derived from VERSION, and (under MinGW) a unix-like "lib" prefix - neither of which .prl files have. therefore, we had to make the back-mapping from the library to the .prl file reverse-engineer the original TARGET's name. we verify whether we actually got the right file by comparing the target specified inside the .prl file with what we started from. this fixes linking of transitive deps of static deps. the alternative of changing the .prl naming pattern to avoid the back-mapping was discarded, as a) it would be backwards incompatible and b) it would break project-internal -lfoo references to versioned libs. Change-Id: Ia9b899fe6a5700fee528bd1dacf130caf083cdd6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* qmake: slightly optimize processPrlFile() callsOswald Buddenhagen2018-07-161-3/+3
| | | | | | | | | add a parameter that indicates whether the passed filename can be only the basename of a prl file. if so, we can skip the other attempts at interpreting the file name. that's not only faster, but also clearer. Change-Id: I6f6da3f4485216021282a08acaefb53e60e7242a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qmake: escape colons and hashmarks in dependency pathsOswald Buddenhagen2018-06-251-0/+12
| | | | | | | | | | | | | | | | | | | these characters can appear in file names, but are meta characters in dependency context. they have different semantics in make commands, so this required some reshuffling in the windows generator (which just treated dependencies and commands the same way). we don't actually escape colons for nmake, because it has magic treatment of drive letters anyway (and colons cannot appear elsewhere). also, if a target's filename gets quoted, batch rules will blow up. therefore, "funny" file names are really only supported as inputs - which is just enough to make resource embedding work. Task-number: QTBUG-22863 Task-number: QTBUG-68635 Change-Id: I473b0bf47d045298fd2ae481a29de603a3c1be30 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* make mkspecs not mess up library and include search pathsOswald Buddenhagen2017-05-311-0/+3
| | | | | | | | | | | | | | adding shared install paths to QMAKE_{INCDIR,LIBDIR} in the spec has the tiny side effect that they are searched _first_, which is generally a really bad idea - they should be _last_. for that purpose, make QMAKE_{INCDIR,LIBDIR}_POST live up to their names (i.e., search them actually last) and migrate all affected specs to use them. Task-number: QTBUG-40825 Change-Id: Ie0de81c3cc49e193186d2fedd7d6c77590c8ef79 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Simplify built-in qmake install commandSimon Hausmann2017-05-041-3/+2
| | | | | | | | As the directory installation command also works with files as a source we can unify the external commands, resulting in simpler command lines. Change-Id: I65013626eedbdb3ce1c77ed230d46edd1603b986 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Preserve last modification timestamps of installed directoriesSimon Hausmann2017-05-021-0/+1
| | | | | | | | | Similar to the two parent commits, this patchs preserves the time stamps of files we install as a result of recursive directory copying. Change-Id: Id5931a467196d5cd67acfa0deffc2488af8a3669 Task-number: QTBUG-59004 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Preserve last modification timestamps of installed program filesSimon Hausmann2017-04-131-0/+1
| | | | | | | | | | Similar to the parent commit, this patch adds a unified code path in qmake itself for installing program files while preserving their original last modification timestamp. Change-Id: I7b7dcfa6228c2bfd48ea6036549398bb6f90032f Task-number: QTBUG-59004 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Preserve last modification timestamps of installed filesSimon Hausmann2017-04-121-0/+1
| | | | | | | | | | | On non-windows platforms, we use the "-p" parameter of install(1) to preserve the last modification timestamps of files. On Windows the use of copy does not preserve them. As a cross-platform solution, this patch introduces a simple built-in install command in qmake to copy files. Task-number: QTBUG-59004 Change-Id: I3064d29a2b8c7b009a1efbf8f00b84c079ea5417 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8.0Liang Qi2016-12-081-0/+3
|\ | | | | | | Change-Id: I576187a9905802c177ae483e6c29d0f55cf7034d
| * unbreak "aux" template for mingw & msvc, take 3Oswald Buddenhagen2016-12-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eliminating everying TARGET-related was a nice try, but in the real world (e.g., qttranslations), extra compilers are activated by PRE_TARGETDEPS, which of course doesn't work when TARGET is entirely gone. so instead, let it act as a phony target. this is consistent with the unix generator. supersedes 0810d48bc in amending af2847260. Task-number: QTBUG-57423 Change-Id: I3d2ecc4ff42b37ffe5f71f5c20d17c06b31f4da2 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-251-10/+14
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qcoregraphics.mm src/gui/painting/qcoregraphics_p.h src/plugins/platforms/cocoa/qcocoahelpers.h src/plugins/platforms/cocoa/qcocoahelpers.mm Change-Id: Ibe5efcae73526b3d3931ed22730b13d372dcf54e
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-251-10/+14
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qml_module.prf src/corelib/tools/qdatetimeparser_p.h Change-Id: I5382cee3ddb33107dc61ee20f7a9188c4a68a882
| | * unbreak "aux" template for mingw & msvc, take 2Oswald Buddenhagen2016-11-231-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of course, we should stub out everything related to TARGET - only the generic "all" and "first" targets including their deps should be emitted. amends af2847260. Change-Id: I8ed7a550b8022c69328d2e16dbd078928d176964 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * qmake: fix up dist targets for mingw & nmake somewhatOswald Buddenhagen2016-11-231-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | actually pack the extra compilers' input files, not the variable names. unlike on unix, we don't create an actual distdir, so the package is still going to be rather broken. Change-Id: If0a15bbe9db95aebd88c2a21ca3c0f787ce5c7e1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Remove Windows CE vestigeJoerg Bornemann2016-06-201-5/+1
|/ / | | | | | | | | Change-Id: I07bd55c55f8b69dd7c58da8876ca985debf235dc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-02-111-3/+3
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qfilesystemwatcher_win.cpp src/corelib/plugin/plugin.pri src/plugins/platforms/cocoa/qcocoaaccessibility.mm tests/auto/corelib/tools/qlocale/tst_qlocale.cpp Change-Id: Id6824631252609a75eff8b68792e4d10095c8fc1
| * qmake: use QString::replace() overloaded with QLatin1StringAnton Kudryavtsev2016-02-041-3/+3
| | | | | | | | | | | | | | | | | | 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>
* | qmake: use reserve to optimize memory allocation.Anton Kudryavtsev2016-02-011-1/+3
| | | | | | | | | | Change-Id: I6ace338512c24fd9dc11c767a28f0a63454076fa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | qmake: eradicate Q_FOREACH loops [const-& returns]Marc Mutz2016-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 range-for loops. The functions QMakeProject::values(), QMakeMetaInfo::values() and QHashIterator::value() all return by const-reference, so they can be passed to range-for without further changes. Change-Id: Ic3b39ed8ff8cd7a6f287f1aa9d61a1acd67d7aaa Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-261-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java src/dbus/qdbusconnection_p.h src/dbus/qdbusintegrator.cpp src/dbus/qdbusintegrator_p.h tests/auto/corelib/io/qdir/qdir.pro tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp Change-Id: I3d3fd07aed015c74b1f545f1327aa73d5f365fcc
| * Work around MinGW-make's magic prefixing of paths.Frederik Gladhorn2016-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Updated license headersJani Heikkinen2016-01-211-17/+12
|/ | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Stop generating implicit suffix rules in MakefilesTor Arne Vestbø2015-10-091-11/+0
| | | | | | | | | | | | Suffix rules are the old-fashioned way of defining implicit rules for make. We don't need them as we generate explicit rules for all sources we build. [ChangeLog][qmake] Makefile output no longer contains implicit suffix rules, as all sources are built using explicit rules. Change-Id: I4ecfa5b80c8ae33aea8730836f3baf99dd4951dd Task-number: QTBUG-30813 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* merge MingwMakefileGenerator::findLibraries() into Win32MakefileGeneratorOswald Buddenhagen2015-10-021-33/+54
| | | | | | | | as a side effect, this makes the extensions used for searching libraries configurable under windows (QMAKE_LIB_EXTENSIONS). Change-Id: I3e64304fcadbfe74d601b50a70a73180c894503e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* rewrite windows library handlingOswald Buddenhagen2015-10-021-49/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | first, store the library's full name in the .prl file, like we do on unix. this is not expected to have any side effects, as QMAKE_PRL_TARGET was entirely unused under windows so far. then, rewrite the mingw library handling: instead of letting the linker resolve the actual libraries, do it ourselves like we do for msvc. we could not do that before due to the partial file names in the .prl files: if the library didn't exist at qmake execution time, we'd have to guess the file extension (the msvc generators never had that problem, as they know about only one possible extension for libraries anyway). make use of processPrlFile()'s ability to replace the reference to the .prl file with the actual library. that way we don't need to re-assemble the file name from pieces, which was fragile and inefficient. QMAKE_*_VERSION_OVERRIDE does not affect libraries coming with .prl files any more. additionally, it is now used literally (not numerically), and values less or equal to zero lost their special meaning as "none" - this isn't a problem, because that's the default anyway, and there is no need to override bogus versions from .prl files any more. no changelog for that, as i found no public traces of that feature outside qtbase. [ChangeLog][qmake][Windows] Libraries coming with .prl files can now have non-standard file extensions and a major version of zero. [ChangeLog][qmake][Windows][Important Behavior Changes] The .prl files written by earlier versions of Qt cannot be used any more. This will affect you if you depend on 3rd party libraries which come with .prl files. Patch up QMAKE_PRL_TARGET to contain the complete file name of the library, and replace any /LIBPATH: in QMAKE_PRL_LIBS with -L. (the part about /LIBPATH: actually refers to the next commit.) Change-Id: I07399341bff0609cb6db9660cbc62b141fb2ad96 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* merge processPrlFiles() into findLibraries()Oswald Buddenhagen2015-10-021-54/+27
| | | | | | | | seems pointless to tear apart the functions, on the way duplicating some boilerplate. Change-Id: Ide3697ca1c931e8de607ac48c21cecce4781fe13 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove QMAKE_<lib>_SUFFIX supportOswald Buddenhagen2015-10-011-2/+0
| | | | | | | | | | | | | this feature was added with a dubious commit message a decade ago, was undocumented, and there are no public traces of it being used. if i had to guess what it was meant for: to be able to consistently use -lfoo throughout a project and centrally (e.g., in .qmake.cache) choose to use foo<bar> (bar possibly being "d") instead. however, more explicit methods are being used instead, including in qt itself. Change-Id: Ic3a98dc3aec59876f26909fbf9f7aba32baa05bf Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make /LIBPATH: deduplication code more like in the unix generatorOswald Buddenhagen2015-10-011-18/+13
| | | | | Change-Id: If7e83a46b1a2ad92723a222daffa687d74636858 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove link_highest_lib_version misfeatureOswald Buddenhagen2015-10-011-22/+2
| | | | | | | | | | | in retrospect, we were too conservative in 925fd32a2d8f making the "feature" optional - it simply makes no sense to have qmake automatically find the highest major (!) version of a library based on a loosely defined platform-specific convention (not standard, unlike ELF's .so versioning) with side effects. Change-Id: Iba92df433b199a9fbff88358f6e0f6835f2e813d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove magic patching up of libraries specified by file nameOswald Buddenhagen2015-10-011-34/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | the assumption is that if somebody bothers to actually specify a file name, they'll most probably go all the way to specify the *correct* file name. otherwise, they'll use -L/-l flags to specify the libs in a cross-platform way and rely on qmake's magic. this code was initially added for the purpose of invoking findHighestVersion() under windows. this has been off by default for a while now. at some point, the code did also swap qt for qt-mt and vice versa if the specified one was missing. this is obviously gone for a while as well. the unix code was pretty much broken since day one: there was a regex match on lib<stub>.* against <stub> itself, which obviously could not have ever succeeded. consequently, the subsequent code ran into a path that tried the file name with a trailing dot (instead of a new extension), which never produced anything meaningful. [ChangeLog][qmake][Important Behavior Changes] The library lookup has been simplified. It may be necessary to be more explicit in some edge cases now. Change-Id: I5804943f1f7a16d38932b31675caabbda33eada7 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* unify handling of library prefixes and extensionsOswald Buddenhagen2015-10-011-11/+4
| | | | | | | | | | | make sure that all specs define QMAKE_{PREFIX,EXTENSION}_{SH,STATIC}LIB, and adjust the code to make halfways consistent use of these variables, in particular on windows; Win32MakefileGenerator::getLibTarget() is gone as a result, as is QMAKE_CYGWIN_SHLIB. still, tons of hardcoded "lib" references remain in the unix generator, because no-one cares. Change-Id: I6ccf37cc562f6584221c94fa27b2834412e4e4ca Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove overuse of trimmed()Oswald Buddenhagen2015-10-011-3/+3
| | | | | | | | there is no reason to expect the various list elements to be space-encumbered, or to tolerate it if they were. Change-Id: I1a2e5c8d30456b640408503334c55f9262792db5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>