summaryrefslogtreecommitdiffstats
path: root/qmake/generators
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-09-301-4/+1
|\ | | | | | | Change-Id: Iaa438d14357be1bf75bb645cb8d3245947c055b8
| * Fix the /J option for MSVC project generationAndrew Patterson2018-09-271-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove the DefaultCharIsUnsigned member and XML property because the MSVC project file no longer has a specific XML tag for that setting; instead, the /J option should go directly into the AdditionalOptions tag. Task-number: QTBUG-69611 Change-Id: I8f386427b7384ae09553f66193a2c9ea2b98dbc8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Revert "qmake: Work around MSVC compiler bug."Friedemann Kleint2018-09-261-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix was for MSVC2010 which is now no longer supported and causes a warning: msvc_vcproj.cpp(217,12): warning: unknown pragma ignored [-Wunknown-pragmas] #pragma optimize( "g", off ) by clang-cl. This reverts commit 9f54846d951838361f4188b423e7aa7c7b9a9540. Task-number: QTBUG-63512 Change-Id: I395b964d09ac04a7dc852e43d7d95669948eea52 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | qmake: rework .prl filename constructionOswald Buddenhagen2018-08-304-16/+9
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-08-161-1/+16
|\| | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qconfig-bootstrapped.h src/plugins/platforms/xcb/qxcbbackingstore.cpp Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I4af138ffb2f5306373244523768209e8873b2798
| * qmake vcxproj generator: Fix extra compilers for single configsJoerg Bornemann2018-08-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For single config mode (no debug_and_release) extra compilers wouldn't get added to the vcxproj file. Single config mode creates a temporary project, and that was incomplete. Multi config mode, on the other hand, directly operates on the "real data" and wasn't affected by this problem. Task-number: QTBUG-69769 Change-Id: I9cd942e43d80adbeac9a3c8fbe1a5766bc9645a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qmake vcxproj generator: Fix compilation of generated C++ sourcesJoerg Bornemann2018-08-081-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Generated C++ source files with extensions other than .cpp would not get compiled, because the code ignored all other C++ source extensions like .cc and .cxx. Fix this by respecting the value of QMAKE_EXT_CPP and QMAKE_EXT_C. Task-number: QTBUG-69770 Change-Id: I097dfef6920e353a351c97891cdbfdc9a859815f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: Apply modernize-use-nullptrAlessandro Portale2018-08-0814-44/+44
| | | | | | | | | | | | | | Use nullptr instead of 0. Change-Id: Ib3120b9c424a274a2d4dd4c42ec5d7cd5bdead65 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: Apply modernize-use-overrideAlessandro Portale2018-08-0812-115/+115
| | | | | | | | | | | | | | Add overrides to functions, except for destructors. Change-Id: I6e4640aa95a5c97d6bd6f6d8692d3290c421344e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: Avoid comparison of values with different enumeration typesAlessandro Portale2018-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | A switch statement using enumeration type midlErrorCheckOption as condition had an enumeration value from type midlStructMemberAlignOption as a case label. This had only coincidentally the intended effect, since the intended value (midlErrorCheckOption::midlEnableCustom) and the actually used one (midlStructMemberAlignOption::midlStructMemberAlignOption) have both the value 0. Change-Id: I73b337f23e733a1a6fb80517e29365e01838238a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-08-071-0/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/doc/src/objectmodel/signalsandslots.qdoc src/plugins/platforms/cocoa/qcocoamenuloader.mm src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp tests/auto/gui/image/qimage/tst_qimage.cpp Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I9bd24ee9b00d4f26c8f344ce3970aa6e93935ff5
| * qmake: don't escape colons in dependency paths on windows, after allOswald Buddenhagen2018-08-021-0/+9
| | | | | | | | | | | | | | | | | | amends 7c34e0a7b4. Change-Id: I2ecdf0a450337e667f55af09b3de79fb47e05428 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: Harden logic for handling the -o optionTor Arne Vestbø2018-07-315-85/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now treat -o foo/bar/baz as a request to generate the output in the foo/bar directory with baz as the output name, or if foo/bar/baz is already a directory, in the foo/bar/baz directory with the default output name. We take care to handle generator specific directory structures, so that the project directory does not get merged into OUT_PWD. This is done in runQmake(), before parsing the project file, so that OUT_PWD will be correct during project parsing. The individual generators are then passed the filename relative to the final output directory. Each generator now also makes sure to add the right project suffix to the output file, so -o foo will result in foo.pro or foo.vcproj, instead of just foo. Task-number: QTBUG-44408 Change-Id: I26990cec0c0458bee2b88dbb86322617a85f54b5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: Emit warning when regenerating Xcode project during buildTor Arne Vestbø2018-07-302-0/+7
| | | | | | | | | | | | | | | | | | Makes it a bit more clear why all the Xcode settings were lost. Task-number: QTBUG-45113 Change-Id: I3b19edb02a24673f56e77d3a1fb7cc76584c73fd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | qmake: don't drop non-existing files from .depend_command outputOswald Buddenhagen2018-07-251-4/+8
| | | | | | | | | | | | | | | | this allows for dynamic generation of the dependencies. Task-number: QTBUG-61267 Change-Id: If5b8aed6b9e4bde189cc3ba6a5f13dcf8def3a1e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qmake: add line-based mode for .depend_commandsOswald Buddenhagen2018-07-231-5/+18
| | | | | | | | | | | | Task-number: QTBUG-48919 Change-Id: I6988fb2f26fd62ab40eb7392ccb0e033ad291fe6 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | qmake: Write correct Xcode project directory name to xcscheme fileTor Arne Vestbø2018-07-201-0/+1
| | | | | | | | | | | | | | | | | | | | The Xcode project name may be affected by e.g. the -o argument to qmake, so we can't assume it's based on the target. Change-Id: Ibb9f4265017ffcfe26bd8734758dcb30237c704f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-07-172-10/+12
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbintegration.cpp Conflicts git missed: src/plugins/platforms/qnx/qqnxglcontext.cpp Change-Id: I0582cdc9e66e43efe79038b9c43d4f9572ac88fc
| * Fix recursive qmake xcode project generation with shadow buildsChristoph Keller2018-07-091-2/+2
| | | | | | | | | | | | | | | | | | | | For some reason, the solution generator was looking for the xcodeproj files in the source tree. It should look for them in the output tree instead. Task-number: QTBUG-69244 Change-Id: I7525886d614ddfdee705b27aacafc8f90a6f9d1d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * qmake: make sure 'move' commands to DESTDIR are valid on mingwOswald Buddenhagen2018-07-091-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the code ensures that the path ends with a path separator, which is unhealthy under mingw when the command ends with that path, because it's interpreted as a line continuation. the easiest fix is just duplicating the name of the moved file to the destination side. the cleaner fix would have been cleaning up the path separator mess, but that's a more invasive change and doesn't seem worth it. Task-number: QTBUG-69255 Change-Id: I338f8997b84ed7049b5665872dd25f90b9d4d16a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qmake: Fix xcode problems with invalid build pathsChristoph Keller2018-07-041-1/+3
| | | | | | | | | | | | | | | | | | | | Qmake accidentally replaced all occurrences of the library name in the build path. This would lead to problems if the (shadow) build path also contains the library name. Task-number: QTBUG-69279 Change-Id: If99acccc779ff0874433b193be7e7fc53625b245 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: get rid of (some) makefile expansions in dependency pathsOswald Buddenhagen2018-07-164-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-166-32/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: fix processPrlFile() being mislead by dots in pathnamesOswald Buddenhagen2018-07-161-2/+3
| | | | | | | | | | | | | | | | if the file name contained no dot, but the path did, we'd chop up the path in a final (doomed) attempt at locating a .prl file. Change-Id: Iad72428d8523f2ea7e543faa58225fba4ffa358b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qmake: slightly optimize processPrlFile() callsOswald Buddenhagen2018-07-164-13/+13
| | | | | | | | | | | | | | | | | | 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: refactor QMakeMetaInfo::findLib() interfaceOswald Buddenhagen2018-07-162-8/+13
| | | | | | | | | | | | | | | | | | | | move the logic for trying different extensions to MakefileGenerator::processPrlFile(), which is the only user of that functionality. that makes findLib() rather trivial and a bit of a misnomer, so rename it to checkLib(). Change-Id: If9738cc17367452853ab8d3866fa36b5d4b57213 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qmake: purge infra for supporting multiple formats from QMakeMetaInfoOswald Buddenhagen2018-07-161-3/+2
| | | | | | | | | | | | | | | | only .prl is actually supported (and we expect this to remain the case), so just simplify the code. Change-Id: Ia23f9f257bf89ca214c3deabd8a7744b155c7aa9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-07-0211-20/+64
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_dragging.mm src/plugins/platforms/ios/qiosinputcontext.mm src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/tools/androiddeployqt/main.cpp Was moved from qttools into qtbase in 5.11. So re-apply 32398e4d here. tests/auto/corelib/global/qlogging/test/test.pro tests/auto/corelib/global/qlogging/tst_qlogging.cpp tests/auto/corelib/io/qfile/tst_qfile.cpp tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp tests/auto/corelib/thread/qthreadstorage/test/test.pro tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp tests/auto/widgets/kernel/qapplication/test/test.pro Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Done-with: Mårten Nordheim <marten.nordheim@qt.io> Done-with: Oliver Wolff <oliver.wolff@qt.io> Change-Id: Id970486c5315a1718c540f00deb2633533e8fc7b
| * qmake: escape colons and hashmarks in dependency pathsOswald Buddenhagen2018-06-257-7/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Merge remote-tracking branch 'origin/5.11.1' into 5.11Qt Forward Merge Bot2018-06-191-1/+1
| |\ | | | | | | | | | Change-Id: I9a4571ccf826a86e055dfbba23b5e5cbd8ea55e8
| | * xcode: Take effective platform name into account for configuration build dirTor Arne Vestbø2018-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default value for CONFIGURATION_BUILD_DIR includes EFFECTIVE_PLATFORM_NAME, but when overriding it in 554e44b77 we only used the CONFIGURATION variable. This left the .app in iOS builds in Debug instead of Debug-iphoneos, breaking deployment from within Qt Creator, which had this directory hard-coded. We now include EFFECTIVE_PLATFORM_NAME to restore the original destination for the .app bundle. Task-number: QTBUG-68705 Change-Id: If304193d3e351e19fb84d250a62ae331af6966c6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * | Fix QMAKE_MANIFEST for Visual Studio >= 2012Joerg Bornemann2018-06-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The QMAKE_MANIFEST variable was ignored for VS linkers that support the /MANIFEST:embed option. Task-number: QTBUG-59967 Change-Id: I1cdb60ec3a7a5f117942952d4632378ff142daa5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | Qmake: Fix compilation with QMAKE_USE_CACHEOrgad Shaneh2018-06-131-3/+3
| | | | | | | | | | | | | | | Change-Id: Ib2872093d1e82a59baad94104dafe8329a9e8942 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | qmake: use consistent path separators in makefile dependenciesOswald Buddenhagen2018-06-125-9/+22
| |/ | | | | | | | | | | | | Task-number: QTBUG-65072 Change-Id: I3456d9b2cdfa9c65be5933f592abb640f81c39f2 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Fix framework include paths in .pc filesMorten Johan Sørvig2018-06-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The macOS framework build of Qt copies headers to each framework instead of a centralized include location. Update the .pc file generator to match this behavior. Add two include paths to the .pc files: -Ipath/to/lib/foo.framework/Headers This makes #include <FooHeader> work. -Fpath/to/lib This makes #include <Foo/FooHeader> work. Task-number: QTBUG-35256 Change-Id: I013ce161c904fe6b7bbb03e33c163d32fdda0647 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | qmake: remove system framework path check from writePkgConfigFile()Morten Johan Sørvig2018-06-251-3/+1
|/ | | | | | | | | | | /System/Library/Frameworks is now under system integrity protection and is not usable for 3rd-party framework installs. /Library/Frameworks continues to be a documented framework install locaton. Change-Id: I26f96ed57985218452ebbf9578e08f04b4e5cfd8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* qmake: Don't map Xcode SYMROOT to output directoryTor Arne Vestbø2018-04-261-1/+11
| | | | | | | | | | | | | | | | The output directory may be the same as the source directory in the case of an in-source build, but Xcode treats the SYMROOT as a build directory, and automatically excludes it from Time Machine backups, which may result in not backing up sources. Instead we map SYMROOT to an .xcode subdirectory of the output directory, and then use CONFIGURATION_BUILD_DIR to make sure the final build targets end up where they used to. Task-number: QTBUG-52474 Change-Id: I3852ca9088e75ca62fca4c1217b5485175d9436f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qmake: fix look-up of relative files from .depend_command in shadow buildsOswald Buddenhagen2018-04-251-6/+10
| | | | | | | | the dependency paths are fixified against the output directory, so we must resolve them accordingly. Change-Id: Id92750aad358153bd2db5daca3194c54eda58dbb Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qmake: Fix prl lookup for suffixed frameworks on Apple platformsTor Arne Vestbø2018-04-221-2/+16
| | | | | | | We need to take into account the presence of a possible ',_debug' suffix. Change-Id: I5655394b78723bbc6cc32e56849acc2366d288e2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* qmake: fix QMAKE_BUNDLE_DATA for (some) generated filesOswald Buddenhagen2018-04-121-1/+3
| | | | | | | | | | | | | the source file must not be written with an absolute path to the makefile, as this won't match the name of the target which generates it, thus leading to an unsatisfied dependency. this is the proper fix for QTBUG-60413 and a bunch of others. amends historical f173e217cd. Change-Id: I28140351c4b4759de35e60daf63bc54b82d104ec Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Set WindowsTargetPlatform[Min]Version if WindowsSDKVersion is setJoerg Bornemann2018-04-061-5/+19
| | | | | | | | | | | This fixes qmake-generated project files for Visual Studio 2017 for setups where the Windows 8.1 SDK is not installed. Task-number: QTBUG-66265 Change-Id: I67712019f7142e40262f171eb23f9f1e6ab3a251 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* XCode: Fix the output paths for extra compilers with fileFixify()Andy Shaw2018-03-171-1/+2
| | | | | | | | | This ensures that the generated XCode project can correctly find any files that are referenced via a path containing "..". Task-number: QTBUG-35131 Change-Id: I049bc2279b4c515a82acd61142d25b8c240e8f6e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* doc: Remove inappropriate qdoc comment markersMartin Smith2018-01-181-2/+2
| | | | | | | | | Removed the '!' from two comments because the functions being documented are static functions declared and defined in the .cpp file. They are not public. Change-Id: Ie3b2c32c64102634b6b2a4c438da191536a426d6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* qmake: Introduce precompile_header_c for MSVCOrgad Shaneh2018-01-082-13/+18
| | | | | | | | | | | | | | | | | | | | | | | MSVC requires that the C PCH file is compiled (as an object) and linked if any C file is found, and the same for C++. Most qmake projects are C++. If a C++ project has a precompiled header, it is typically of C++ type, and cannot be compiled as C (for example, it contains or includes classes). Since there is no easy way to conditionally build the C PCH file only if C files are found in the project (as done for g++), we need a setting that is disabled by default. This amends 30331afda118. [ChangeLog][Tools][qmake] Introduced precompile_header_c CONFIG option for MSVC to enable precompiled header for C sources. Task-number: QTBUG-65103 Change-Id: Id9688a35ee7d9b5e4f5a846b81986cb674bc5f4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-073-4/+17
|\ | | | | | | | | | | | | Conflicts: tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp Change-Id: Ib6dd965a7eb6f59103e276b3407739147ecd37b2
| * qmake: set COPY_PHASE_STRIP to NO in Xcode generatorJake Petroules2018-01-051-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Since Xcode 6.3, this must be set to NO because stripping on copy is no longer fully supported due to the potential of input binaries being code signed. In this case Xcode will simply ignore the strip step and issue a warning since stripping would invalidate the code signature. This change silences that annoying warning for release builds. Also, the setting assignment is moved from being hardcoded in the generator, to a QMAKE_MAC_XCODE_SETTINGS value. Change-Id: If25511edddc12b7b0407e2992d80884b7d6437dc Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| * qmake: replace invalid characters in generated bundle identifiersJake Petroules2018-01-051-1/+15
| | | | | | | | | | | | | | | | This problem does not affect the Xcode generator. Task-number: QTBUG-65477 Change-Id: I6194edc5b679edad9ae1a25e35b71e5df9bd4c95 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * qmake: Handle QMAKE_LINK_OBJECT_MAX being unset for static librariesMartin Storsjö2018-01-041-1/+2
| | | | | | | | | | | | | | | | This was missed in 8bebded9. Task-number: QTBUG-63637 Change-Id: I6be472430a9aa8f533def4fd6c14c8dbfe8b6f70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Rewrite the Info.plist variable replacement handlingJake Petroules2018-01-061-13/+35
| | | | | | | | | | | | | | | | | | | | This ensures that the same set of variables can be successfully replaced in both the Makefile and Xcode generators. It also switches the default templates to use the Xcode-style ${var} syntax instead of the @var@ syntax for better Info.plist compatibility across generators. Change-Id: Iff330bafd152773aafac9143c4a34e34f92f0ce6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-12-301-3/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/win32-g++/qmake.conf src/corelib/global/qglobal_p.h src/corelib/global/qoperatingsystemversion_p.h src/corelib/io/qfilesystemengine_win.cpp src/network/bearer/qbearerengine.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/sql/doc/snippets/code/doc_src_sql-driver.cpp src/widgets/kernel/qwidget_p.h src/widgets/kernel/qwidgetwindow.cpp src/widgets/styles/qfusionstyle.cpp tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Change-Id: I80e2722f481b12fff5d967c28f89208c0e9a1dd8