summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/msvc_vcproj.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-08-261-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/snippets/code/doc_src_qmake-manual.pro qmake/doc/src/qmake-manual.qdoc src/corelib/io/qstorageinfo_unix.cpp src/corelib/tools/qbytearray.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/io/qprocess/tst_qprocess.cpp tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp tests/auto/network/access/qnetworkreply/BLACKLIST Change-Id: I9efcd7e1cce1c394eed425c43aa6fce7d2edf31c
| * WinRT: Fix Visual Studio 2015 project generationMaurice Kalinowski2015-08-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - ApplicationTypeRevision has been updated to 10.0 in the final VS2015 release - For Universal App project one needs to specify WindowsTargetPlatformVersion and WindowsTargetPlatformMinVersion - Disable adding Qt libraries to the DeploymentFiles variable for Universal Apps. Before an error occurred during build as windeployqt asked to package the very same files. However, windeployqt also takes care of plugins and hence we prefer to rely on windeployqt and disable the link step parsing. Change-Id: I5180519cabde60dbc7786ef27a6fbe0ef2ac44f3 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* | Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-031-0/+11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qnamespace.qdoc src/corelib/io/qwindowspipereader.cpp src/corelib/io/qwindowspipereader_p.h src/corelib/statemachine/qstatemachine.cpp src/corelib/statemachine/qstatemachine_p.h src/plugins/platforms/xcb/qxcbconnection.h tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp tests/auto/tools/qmake/tst_qmake.cpp tests/manual/touch/main.cpp Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
| * WinRT: Add qmake support for Windows 10Maurice Kalinowski2015-05-261-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows creation of applications for - x86 - x64 - arm While the arm build theoretically also allows to launch on a mobile, it currently asserts on runtime. Either we will create a new mkspec for Windows 10 Mobile in the future, or do runtime checks for the environment. That also depends on whether there will be a separate SDK by Microsoft. Change-Id: I510bfc88410a5b5a1eb7c37f7f43888d1e5dda0d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* | deprecate DEPLOYMENT variableJoerg Bornemann2015-06-021-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Deprecate the qmake variable DEPLOYMENT that was used for installing files on remote devices for Windows RT and Windows CE Visual Studio projects. Use INSTALLS for both nmake and Visual Studio projects. [ChangeLog][core][qmake] Deprecated the qmake variable DEPLOYMENT in favor of INSTALLS. Task-number: QTBUG-21854 Change-Id: Ia9d2c69feb7d87b0b9dc69ff7c0a68be35a57acd Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Introduce qmake RC_DEFINES for RC preprocessor definesM. Moellney2015-06-021-1/+6
|/ | | | | | | | | | | | | | | | | | qmake win32 generators by default used values of DEFINES for RC preprocessor defines, too. For simple defines this works. For string literals this failed for the .vcxproj files: DEFINES += "FOO=\"BAR BAR\"" works for CL but fails for RC. DEFINES += "FOO=\\\"BAR BAR\\\"" works for RC but fails for CL. This patch introduces the qmake variable RC_DEFINES. The variable contains the preprocessor defines, that are used for RC. If the varible is not set, the DEFINES values are used for RC. Task-number: QTBUG-44184 Change-Id: I4202271759d29de8c1829347ae3ef117eda54b38 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* fix extra compilers with indirect outputs in VS projectsJoerg Bornemann2015-04-231-2/+19
| | | | | | | | | | | Evaluate the .output variable of the extra compiler to determine the file extension of its output. The VS project generator needs it to determine the filter that will contain the output file. Change-Id: Iab1e154a712342401e17421c08975fad13967a5b Task-number: QTBUG-45717 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* make fileFixify() calling convention somewhat saneOswald Buddenhagen2015-04-211-1/+1
| | | | | | | | | | instead of allowing arbitrary input and output base paths, restrict them to the project input and output dirs (in any permutation), which are the only cases ever used anyway. this permits much clearer call sites, and allows later optimizations. Change-Id: I48d149a4417af5c858e66ec57c476a5bc6b17f17 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* WinPhone: Re-invoke windeployqt in the MSIL directoryMaurice Kalinowski2015-04-091-3/+23
| | | | | | | | | | | | | Visual Studio copies all files to be deployed into the MSIL directory and then invokes MDILXapCompile on it, which checks for managed code and translates it into native code. The problem is that all entries of the package will be copied into the MSIL directly, losing the subdirectory structure (for instance for plugins). Hence we recreate the directory structure manually by invoking windeployqt a second time. Task-number: QTBUG-41753 Change-Id: I3d99cbc531bbe883f87b45de37ba71d93472c042 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Fix qmake generating bizarre msvc /VERSION valuesM. Moellney2015-04-081-7/+11
| | | | | | | | | | | | | | | | | | | | The msvc_nmake and msvc_vcproj generators deduced the exe/dll header version number from the VERSION variable in a "bizarre" way: VERSION=1.2.3.4567 was converted to /VERSION:1.234567. But a minor number beyond 65535 is not accepted by the linker. This fix deduces the major and minor from the major and minor of VERSION: VERSION=1.2.3.4567 leads to /VERSION:1.2. In addition, a new variable is introduced: VERSION_PE_HEADER. With this variable, legacy pro files that rely on the bizarre behavior can re-create it: VERSION=1.2.3.45 and VERSION_PE_HEADER=1.2345 lead to the old result: /VERSION:1.2345 by just taking the VERSION_PE_HEADER to overrule the new behavior. Task-number: QTBUG-44823 Change-Id: Ie093ade83290c098fe2b2a429ce5d6ed6dc750ea Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* qmake: Rework dll deploymentOliver Wolff2015-04-071-20/+32
| | | | | | | | | | | | QT_INSTALL_LIBS is not the right place to check for Qt dlls, as they cannot be found there in a non-developer build. In order to be able to find the dlls and make adding dll locations easier for the user, QMAKE_DLLS_PATHS was added. On Windows, the variable points to Qt's bin directory by default. Task-number: QTBUG-44960 Change-Id: Ie4e5beeaadee798a055599387e842d7c0502c27a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* add DISTFILES support for Visual Studio projectsJoerg Bornemann2015-03-271-0/+13
| | | | | | | | | | Files in DISTFILES are placed into a "Distribution Files" folder under the project node. Task-number: QTBUG-43162 Change-Id: Ib75aacf1010d9ea63af89d4a9cc92275d714b3cb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* replace incorrect uses of fixPathToLocalOS() (mostly)Oswald Buddenhagen2015-02-171-8/+9
| | | | | | | | | | | | | | | | | | | | | | | in most cases, it actually means normalizePath() (because the file name is used with qt i/o functions afterwards). this affects QMakeLocalFile::local() as well, so many not immediately obvious places are affected as well. there was also one case of fixPathToTargetOS() falling into this category. this is mostly a no-op, as the qt functions are agnostic to the path separator. in some other cases (in particular in the vcproj generator), it actually means fixPathToTargetOS(). this is mostly a no-op as well, as the two functions are equal except on msys anyway. in the <meta file>FileName() functions, the use of a fixPath*() function is bogus in the first place - fileFixify() already does fixPathToTargetOS(), and this is correct when the file name is used verbatim in a make command (which it is). otherwise it's irrelevant. Change-Id: I26712da8f888c704f8b7f42dbe24c941b6ad031d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix quoting issues. all of them. (*)Oswald Buddenhagen2015-02-171-13/+11
| | | | | | | | | | | | | | | | | | | | | | instead of quoting more or less random variable contents early, consistently quote everything only right before it is needed. this way we can be sure that everything is correctly quoted, but not over-quoted. this removed the need for the insanity that unescapeFilePath() and similar ad-hoc contraptions were. this had the somewhat counter-intuitive effect that it was possible to remove escapeFilePath() calls from PBX::writeSettings() calls - these were actually only unescaping. [ChangeLog][qmake][Important Behavior Changes] A lot of quoting issues have been fixed. As a side effect, qmake has become more sensitive to over-quoted file names in project files. (*) ok, maybe not. close enough. Task-number: fatal: out of memory Change-Id: I8c51cfffb59ccd156b46bd5c56754c480667443a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* fix filename handling in replaceExtraCompilerVariables()Oswald Buddenhagen2015-02-171-10/+12
| | | | | | | | | | | fixing and escaping is now a tri-state option: - none (this removes the need to unescape the result right afterwards in some cases) - local shell (for system()) - target shell (for Makefile) Change-Id: I5b78d9b70630fe4484dc964eff5f62793da35764 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* inline initOld()Oswald Buddenhagen2015-02-021-39/+35
| | | | | | | the separation serves no purpose except confusing. Change-Id: I6a0d04b2162a4eee7a200345e94baa272120ea5b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* inline outputVariables()Oswald Buddenhagen2015-02-021-12/+7
| | | | | | | it's debugging code which is used only once (if even uncommented). Change-Id: Ie57347017dd24f4acecff2a7132f82898dea3122 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* prune dead fixFilename() functionOswald Buddenhagen2015-02-021-16/+0
| | | | | Change-Id: I84bafecccec286094701874b2780b45d08797524 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* prune pointless assignments of QString::replace() and remove() resultsOswald Buddenhagen2015-02-021-2/+2
| | | | | | | they operate in-place. Change-Id: Iab6f2f6a9f6f67b9d70feb77ec719e424909022d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* prune vestiges of IMAGES and QMAKE_IMAGE_COLLECTIONOswald Buddenhagen2015-02-021-4/+0
| | | | | | | | this stuff apparently pre-dates rcc. Change-Id: Iaa58419476c3d20e2801e91dc1881880c741fdc6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* remove pointless double initialization guardsOswald Buddenhagen2015-02-021-4/+0
| | | | | | | this isn't some fuzzy logic, the call sequence is well determined. Change-Id: I1696b49ed687da83d2969efcfe23ac6565630020 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* avoid direct use of QLibraryInfo as much as possibleOswald Buddenhagen2015-02-021-2/+1
| | | | | Change-Id: Ic1f5f5167181b15bc67bf4c6a1001532d0058b45 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-211-1/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/global.pri src/corelib/global/qcompilerdetection.h src/corelib/global/qglobal.h src/corelib/tools/qdatetime.cpp src/plugins/platforms/xcb/qxcbscreen.h src/plugins/platforms/xcb/qxcbwindow.h src/widgets/dialogs/qcolordialog.cpp src/widgets/dialogs/qcolordialog_p.h tools/configure/configureapp.cpp Change-Id: Ie9d6e9df13e570da0a90a67745a0d05f46c532af
| * centralize/unify/sanitize INCLUDEPATH "enrichment"Oswald Buddenhagen2015-01-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of having each generator do its own magic (little surprisingly, with different outcomes), add "stuff" to the search path in one place used by all generators. this has several consequences: - (unless disabled via CONFIG+=no_include_pwd) $$PWD is now consistently prepended by all generators. most notably, this was entirely missing from the MSVC generators (both nmake and VS) - despite them needing it most. this also affects Xcode projects. - $$OUT_PWD (if different from $$PWD) is now added right after $$PWD, not at the end. this precedence clarification only makes sense, given that qmake tries to make shadow builds as transparent as possible. - the qmakespec's dir is now consistently appended. the UNIX and PBX generators prepended it, while the rest already appended. few files actually include qplatformdefs.h, so having it late in the search path seems reasonable. - the effect of CONFIG+=depend_includepath is now fully consistent with the actual include path. Change-Id: I5f7570183351ade29342ea74fef706a0738842bf Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | remove unsupported winrt mkspecsAndrew Knight2014-12-161-68/+0
|/ | | | | | | | | These mkspecs are not supported and no longer compile. Related support in qmake has also been removed. Change-Id: I7706dcfa5471e55e2ae3d580d65e9371e2c652d5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* fix rc compilation in vcxproj filesJoerg Bornemann2014-12-021-1/+1
| | | | | | | | | | We don't need to modify ResourceOutputFileName. The default is fine, and $(InputName) evaluates to nothing in VS >= 2010. Change-Id: Ib203d36261e1b5449c5a139b1950bd0d66197297 Task-number: QTBUG-43026 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* qmake vcxproj generator: write PrimaryOutputExtension valueJoerg Bornemann2014-10-221-6/+21
| | | | | | | | | | | | | Second attempt. MSVCPROJ_TARGET contains the resolved target name, including version number and target extension. We're splitting this value into PrimaryOutput and PrimaryOutputExtension. PrimaryOutputExtension is only written if it contains a non-default value. Task-number: QTBUG-26782 Change-Id: I4b828dc5dd47322f653585aee1a5767f0cf8bd48 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* remove unused member VCFilter::CustomBuildJoerg Bornemann2014-09-291-8/+0
| | | | | Change-Id: I2b57f0ac020ad1b85ffeb76a214b9cf2f48cb6d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-18/+10
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* make it possible to suppress warnings of the vcxproj generatorJoerg Bornemann2014-09-171-0/+1
| | | | | | | | | | When the user adds a compiler option that qmake doesn't understand, a warning message is printed. One can suppress these warnings now by adding CONFIG+=suppress_vcproj_warnings to the project file. Task-number: QTBUG-37520 Change-Id: Ieb7ad2c900329e76636047dff85824ea0456f608 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* remove FORMS3 support from VS project generatorJoerg Bornemann2014-07-301-4/+0
| | | | | Change-Id: I3b2ce386a66c9635e62d1a729c75284d223c3423 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add build support for Windows Phone 8.1Andrew Knight2014-05-221-2/+3
| | | | | | | | Tweak qmake, add mkspecs for emulator and device, adjust the manifest template for WP8.1, and add missing icons. Change-Id: I7a6405fa85297ae4cc8522015274e65fb7a315a6 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Fix vcxproj generation on Windows PhoneAndrew Knight2014-04-251-2/+2
| | | | | | | | | | | | f412f2b5 refactored the platform tool set retrieval, but made the call too early to choose the right tool set on Windows Phone. This fixes the call so that it does not depend on the WinPhone member variable, and also makes it forward-compatible with Windows Phone 8.1. Task-number: QTBUG-38516 Change-Id: Ide91563f5c7f909c4d1a258adc29af6c94595dc9 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* vcxproj generator: append version suffix only to library targetsJoerg Bornemann2014-04-031-1/+3
| | | | | | Task-number: QTBUG-38066 Change-Id: I2f1635f2cb34acb388c380fc2fc3fbe4df04bb03 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Windows XP target support for MSVC >= 2012Joerg Bornemann2014-04-031-2/+8
| | | | | | | | | | | | | | | | | | To enable windows xp support, we must do two things: 1. linker flag must be /SUBSYSTEM:CONSOLE,5.01 or /SUBSYSTEM:WINDOWS,5.01. For x64, the version is 5.02. 2. Do not use Windows Kit 8. Win SDK v7.1A is recommended. Prepend the right include paths and lib paths to INCLUDE and LIB before building. The Windows XP target support is enabled by passing "-target xp" to configure. Task-number: QTBUG-29939 Change-Id: I84c8439606cc2a9d27d64947702846faa4f1e4a2 Reviewed-by: Lucas Wang <wbsecg1@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* move platform toolset retrieval to VcprojGeneratorJoerg Bornemann2014-04-031-0/+25
| | | | | | | | In a subsequent commit we will need access to more information of the project object. This is merely a refactoring. Change-Id: I40e501d037eb7d0295e1057e7b86e404e88e6ca3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake: Provide feature for windeployqtAndrew Knight2014-02-111-0/+17
| | | | | | | | | | | | | | windeployqt is a tool that aids in the deployment of Qt libraries and other files on Windows. This feature (CONFIG+=windeployqt) adds automatic invocation of windeployqt for qmake projects as a post-link action. For Visual Studio projects, windeployqt is added as a custom target which runs after linking, automatically adding the output as deployment items. Task-number: QTBUG-35630 Change-Id: I4cdcb1a7f70cedccb4a4e17be5eb9f5de35a4d66 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-101-2/+4
|\ | | | | | | Change-Id: I99af0bef7f1c931533a324ebcfb27c40ee871a5e
| * fix detection for multiple VS installationsJoerg Bornemann2014-01-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | In the case of multiple VS installations, a static variable wasn't initialized. That led to wrong values in subsequent calls of the detection function. [ChangeLog][qtbase][qmake] fix detection for multiple VS installations Task-number: QTBUG-35530 Change-Id: I3fc23bc99679fff640f39578a7074d16fe923334 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | qmake vcproj: Support setting the SDK versionAndrew Knight2014-01-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | This adds the required members to allow setting the SDK version, and uses them when creating WinRT projects. Task-number: QTBUG-35328 Change-Id: I500ea77c41e27cbcc850462034c0eba8c5d1f124 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | qmake vcproj: Correct VCProject Version stringsAndrew Knight2014-01-071-2/+2
| | | | | | | | | | | | | | These strings are one version too large. Change-Id: If83649725ccf087075610255516ebf7a51338359 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | qmake vcproj generator: Don't generate WinMD by default on WinRTAndrew Knight2014-01-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Visual Studio will default to generating metadata, even if it is not written to the vcproj. Since there is no metadata file, the build will fail. This change keeps a saner default for this option when generating WinRT project files. Task-number: QTBUG-35328 Change-Id: Ie693e270ef0b9d9677d53af0c60905f048235bc5 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | qmake vcproj generator: Honor the preferred MSVC version in the mkspecAndrew Knight2014-01-071-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | Some cross-compiling mkspecs may require a different MSVC version than the one found in the path (or the default version). This change allows the preferred MSVC version to be selected from the mkspec's MSVC_VER variable when found. Task-number: QTBUG-35328 Change-Id: I19e03101e3921dfd5026421aef4630e11b9f131e Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | qmake vcxproj: Provide saner defaults for certain WinRT optionsAndrew Knight2013-12-111-2/+6
|/ | | | | | | | | | | The default values for PCH, the -ZW switch, and CharacterSet aren't ideal for WinRT projects, so adjust these accordingly. Task-number: QTBUG-35328 Change-Id: I78021d0785fa84e15b1f17264daa599a9418f92e Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* complete implementation of force_debug_infoOswald Buddenhagen2013-12-031-1/+1
| | | | | | | | | that means further detaching the generation and installation of debug info from the thing calling itself A Debug Build. Task-number: QTBUG-32412 Change-Id: I4d79d1ae4806c8e4a2d6a7ccd030fb88385dd7d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix VS version selectionJoerg Bornemann2013-10-311-31/+16
| | | | | | | | | | | | | | | | On machines where multiple versions of VS are installed, the VS version for the vc(x)proj generator is selected by the entries in the PATH variable. The first VS installation that's found in PATH is used. The former logic printed a warning if multiple VS installations were in PATH and also fell back to the lowest version if a VS version was registered with multiple install paths. That's the case for VC 2012 express and prevented its usage. Task-number: QTBUG-34357 Change-Id: Ia5c66a1aea0c40e4b7460b3aa6c7daee6673da44 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix msvc project dependencies as specificed by .dependsChris Gilbert2013-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the full path to the qmake project file was specified as the key for projGuids when inserting the project GUID into this hash table. The only place that items are inserted into projGuids is in VcprojGenerator::collectDependencies at: projGuids.insert(val.first, newDep->target); In this case, val.first contains the full path for the given project being processed at this point. (e.g.: c:\testproject\testproject.pro) Further in sln/vcproj generation, projGuids is queried with the contents of <TARGET>.depends so that users may specify another qmake project as a dependency for a given target. This occurs in two places, in two ways: 1) In VcprojGenerator::collectDependencies() at: QString depend = dep.toQString(); if (!projGuids[depend].isEmpty()) { ... In this case QString depend contains whatever is put into <TARGET>.depends. Typically this is the plain name of the project you depend on. (e.g.: testproj) 2) In VcprojGenerator::writeSubDirs(QTextStream &t) by proxy of extraSubdirs which is a QStringList of the project depends should the mapping in case 1 fail. This case works much like the above case, attempting to use each QString entry of the extraSubdirs list as a key in projGuids. If either of the above two attempts are successful, the msvc solution is configured in a way that creates a project dependency, ensuring correct compilation order and other related behavior. The fix here stores the target project (e.g.: testproject) as opposed to the full project path, as that is what is expected in the <TARGET>.depends statements contained in the qmake project. Change-Id: Iee05661a64d7a3e4467c5ade48d801fbbfe981b5 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Chris Gilbert <cgilbert@knaldtech.com>
* fix setting of output directory of SUBDIRS with -tp vsOswald Buddenhagen2013-10-111-1/+1
| | | | | | | | | | amends ec145129c. Investigated-by: Nikolai Tasev Task-number: QTBUG-32375 Change-Id: Iff27c03c0bb4f739dad9d10bae9576946948041b Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* *.sln not generated correctly for VS2012 and VS2010Katja2013-10-091-4/+4
| | | | | | | | | | msbuild fails to build project since sln not generated correctly Task-number: QTBUG-33446 Change-Id: If92ea743b1b407446873210090aa8591a491abad Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>