diff options
author | Andreas Holzammer <andreas.holzammer@kdab.com> | 2016-03-22 07:28:38 +0100 |
---|---|---|
committer | Andreas Holzammer <andreas.holzammer@kdab.com> | 2016-03-22 14:10:03 +0000 |
commit | f8d790f086c2531f5437023a8188b4b4f07f6c31 (patch) | |
tree | 022ad9c4561c53a6a9bdda3e18a5495883cb7cc0 /qmake | |
parent | dfb9b9e1f7ff723bbb082875962ddcf0d69d1db2 (diff) |
qmake: Fix wince dll deployment in Visual Studio
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>
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/win32/msvc_vcproj.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp index 52d84e8bce..73c9f397e5 100644 --- a/qmake/generators/win32/msvc_vcproj.cpp +++ b/qmake/generators/win32/msvc_vcproj.cpp @@ -187,8 +187,10 @@ const char _slnProjDepEnd[] = "\n\tEndProjectSection"; const char _slnProjConfBeg[] = "\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution"; const char _slnProjRelConfTag1[]= ".Release|%1.ActiveCfg = Release|"; const char _slnProjRelConfTag2[]= ".Release|%1.Build.0 = Release|"; +const char _slnProjRelConfTag3[]= ".Release|%1.Deploy.0 = Release|"; const char _slnProjDbgConfTag1[]= ".Debug|%1.ActiveCfg = Debug|"; const char _slnProjDbgConfTag2[]= ".Debug|%1.Build.0 = Debug|"; +const char _slnProjDbgConfTag3[]= ".Debug|%1.Deploy.0 = Debug|"; const char _slnProjConfEnd[] = "\n\tEndGlobalSection"; const char _slnExtSections[] = "\n\tGlobalSection(ExtensibilityGlobals) = postSolution" "\n\tEndGlobalSection" @@ -729,8 +731,12 @@ void VcprojGenerator::writeSubDirs(QTextStream &t) platform = xplatform; t << "\n\t\t" << (*it)->uuid << QString(_slnProjDbgConfTag1).arg(xplatform) << platform; t << "\n\t\t" << (*it)->uuid << QString(_slnProjDbgConfTag2).arg(xplatform) << platform; + if (!project->isEmpty("CE_SDK") && !project->isEmpty("CE_ARCH")) + t << "\n\t\t" << (*it)->uuid << QString(_slnProjDbgConfTag3).arg(xplatform) << platform; t << "\n\t\t" << (*it)->uuid << QString(_slnProjRelConfTag1).arg(xplatform) << platform; t << "\n\t\t" << (*it)->uuid << QString(_slnProjRelConfTag2).arg(xplatform) << platform; + if (!project->isEmpty("CE_SDK") && !project->isEmpty("CE_ARCH")) + t << "\n\t\t" << (*it)->uuid << QString(_slnProjRelConfTag3).arg(xplatform) << platform; } t << _slnProjConfEnd; t << _slnExtSections; @@ -1269,6 +1275,7 @@ void VcprojGenerator::initDeploymentTool() targetPath = QString("%CSIDL_PROGRAM_FILES%\\") + project->first("TARGET"); if (targetPath.endsWith("/") || targetPath.endsWith("\\")) targetPath.chop(1); + conf.deployment.RemoteDirectory = targetPath; } ProStringList dllPaths = project->values("QMAKE_DLL_PATHS"); // Only deploy Qt libs for shared build |