summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWil Stark <wil_stark@keysight.com>2019-02-01 18:15:39 (GMT)
committerBrad King <brad.king@kitware.com>2019-02-01 18:59:09 (GMT)
commitf5d72be57a00f18ed2b18fc2eb6ccedee3544542 (patch)
tree96f72815b75781296cd92315c4c79b7e516f4ca2
parent0c61b8699cb2b1c75e033c6a7d27f0b93c0dc7bc (diff)
downloadCMake-f5d72be57a00f18ed2b18fc2eb6ccedee3544542.zip
CMake-f5d72be57a00f18ed2b18fc2eb6ccedee3544542.tar.gz
CMake-f5d72be57a00f18ed2b18fc2eb6ccedee3544542.tar.bz2
VS: Fix deployment for WinCE projects
Fixes: #18868
-rw-r--r--Source/cmVisualStudio10TargetGenerator.cxx8
-rw-r--r--Tests/RunCMake/VS10ProjectWinCE/VsCEDebuggerDeploy-check.cmake8
2 files changed, 15 insertions, 1 deletions
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 9d7dd07..0ebfe3b 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -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");
diff --git a/Tests/RunCMake/VS10ProjectWinCE/VsCEDebuggerDeploy-check.cmake b/Tests/RunCMake/VS10ProjectWinCE/VsCEDebuggerDeploy-check.cmake
index c66676f..6ab3833 100644
--- a/Tests/RunCMake/VS10ProjectWinCE/VsCEDebuggerDeploy-check.cmake
+++ b/Tests/RunCMake/VS10ProjectWinCE/VsCEDebuggerDeploy-check.cmake
@@ -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()