VS: Fix deployment for WinCE projects

Fixes: #18868
This commit is contained in:
Wil Stark
2019-02-01 10:15:39 -08:00
committed by Brad King
parent 0c61b8699c
commit f5d72be57a
2 changed files with 15 additions and 1 deletions

View File

@@ -376,7 +376,13 @@ void cmVisualStudio10TargetGenerator::Generate()
{
Elem e0(BuildFileStream, "Project");
e0.Attribute("DefaultTargets", "Build");
e0.Attribute("ToolsVersion", this->GlobalGenerator->GetToolsVersion());
const char* toolsVersion = this->GlobalGenerator->GetToolsVersion();
if (this->GlobalGenerator->GetVersion() ==
cmGlobalVisualStudioGenerator::VS12 &&
this->GlobalGenerator->TargetsWindowsCE()) {
toolsVersion = "4.0";
}
e0.Attribute("ToolsVersion", toolsVersion);
e0.Attribute("xmlns",
"http://schemas.microsoft.com/developer/msbuild/2003");

View File

@@ -13,6 +13,7 @@ endif()
set(FoundCEAdditionalFiles FALSE)
set(FoundRemoteDirectory FALSE)
set(FoundToolsVersion4 FALSE)
file(STRINGS "${vcProjectFile}" lines)
foreach(line IN LISTS lines)
@@ -20,6 +21,8 @@ foreach(line IN LISTS lines)
set(FoundCEAdditionalFiles TRUE)
elseif(line MATCHES " *<RemoteDirectory>[A-Za-z0-9\\]+</RemoteDirectory> *$")
set(FoundRemoteDirectory TRUE)
elseif(line MATCHES " *<Project +.*ToolsVersion=\"4.0\".*> *$")
set(FoundToolsVersion4 TRUE)
endif()
endforeach()
@@ -32,3 +35,8 @@ if(NOT FoundRemoteDirectory)
set(RunCMake_TEST_FAILED "RemoteDirectory not found or not set correctly.")
return()
endif()
if(NOT FoundToolsVersion4)
set(RunCMake_TEST_FAILED "Failed to find correct ToolsVersion=\"4.0\" .")
return()
endif()