diff --git a/Source/cmVSSolution.cxx b/Source/cmVSSolution.cxx
index f85231d9a6..eb750db077 100644
--- a/Source/cmVSSolution.cxx
+++ b/Source/cmVSSolution.cxx
@@ -312,6 +312,9 @@ void WriteSlnxProject(cmXMLElement& xmlParent, Solution const& solution,
cmXMLElement xmlProject(xmlParent, "Project");
xmlProject.Attribute("Path", project.Path);
xmlProject.Attribute("Id", cmSystemTools::LowerCase(project.Id));
+ if (project.Name == solution.StartupProject) {
+ xmlProject.Attribute("DefaultStartup", "true");
+ }
for (Solution::Project const* d : project.BuildDependencies) {
cmXMLElement(xmlProject, "BuildDependency").Attribute("Project", d->Path);
}
diff --git a/Tests/RunCMake/VSSolution/AddPackageToDefault-check-slnx.cmake b/Tests/RunCMake/VSSolution/AddPackageToDefault-check-slnx.cmake
index b60f278f40..320cab5ba3 100644
--- a/Tests/RunCMake/VSSolution/AddPackageToDefault-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/AddPackageToDefault-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/AddPackageToDefault.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/CMP0143-NEW-check-slnx.cmake b/Tests/RunCMake/VSSolution/CMP0143-NEW-check-slnx.cmake
index 67d10cb384..009e372791 100644
--- a/Tests/RunCMake/VSSolution/CMP0143-NEW-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/CMP0143-NEW-check-slnx.cmake
@@ -16,7 +16,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/CMP0143-NEW.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/CMP0143-OLD-check-slnx.cmake b/Tests/RunCMake/VSSolution/CMP0143-OLD-check-slnx.cmake
index cfcb5d43b6..7de36eefdf 100644
--- a/Tests/RunCMake/VSSolution/CMP0143-OLD-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/CMP0143-OLD-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/CMP0143-OLD.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/CMP0143-WARN-check-slnx.cmake b/Tests/RunCMake/VSSolution/CMP0143-WARN-check-slnx.cmake
index 0c51664732..863da1d379 100644
--- a/Tests/RunCMake/VSSolution/CMP0143-WARN-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/CMP0143-WARN-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/CMP0143-WARN.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/DeployEnabled-check-slnx.cmake b/Tests/RunCMake/VSSolution/DeployEnabled-check-slnx.cmake
index 94b297dc80..82b9c762c8 100644
--- a/Tests/RunCMake/VSSolution/DeployEnabled-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/DeployEnabled-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/DeployEnabled.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/MorePost-check-slnx.cmake b/Tests/RunCMake/VSSolution/MorePost-check-slnx.cmake
index ef8173b42f..8cb982f191 100644
--- a/Tests/RunCMake/VSSolution/MorePost-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/MorePost-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/MorePost.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/MorePre-check-slnx.cmake b/Tests/RunCMake/VSSolution/MorePre-check-slnx.cmake
index d025b6c6bf..65c82a53bf 100644
--- a/Tests/RunCMake/VSSolution/MorePre-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/MorePre-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/MorePre.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/OnePost-check-slnx.cmake b/Tests/RunCMake/VSSolution/OnePost-check-slnx.cmake
index 4556be6bfd..a76d41c0bd 100644
--- a/Tests/RunCMake/VSSolution/OnePost-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/OnePost-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/OnePost.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/OnePre-check-slnx.cmake b/Tests/RunCMake/VSSolution/OnePre-check-slnx.cmake
index e01b91a683..e6a1f7b686 100644
--- a/Tests/RunCMake/VSSolution/OnePre-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/OnePre-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/OnePre.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/Override1-check-slnx.cmake b/Tests/RunCMake/VSSolution/Override1-check-slnx.cmake
index 6b53eead35..a58bb01a2c 100644
--- a/Tests/RunCMake/VSSolution/Override1-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/Override1-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/Override1.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/Override2-check-slnx.cmake b/Tests/RunCMake/VSSolution/Override2-check-slnx.cmake
index 8a80a0ec44..b3b73f8318 100644
--- a/Tests/RunCMake/VSSolution/Override2-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/Override2-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/Override2.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/Override3-check-slnx.cmake b/Tests/RunCMake/VSSolution/Override3-check-slnx.cmake
index 93d6dc5e53..a756874afc 100644
--- a/Tests/RunCMake/VSSolution/Override3-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/Override3-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/Override3.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/PrePost-check-slnx.cmake b/Tests/RunCMake/VSSolution/PrePost-check-slnx.cmake
index 824add6565..f3f10c6c13 100644
--- a/Tests/RunCMake/VSSolution/PrePost-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/PrePost-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/PrePost.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/SolutionItems-check-slnx.cmake b/Tests/RunCMake/VSSolution/SolutionItems-check-slnx.cmake
index ee6f654b31..4021cbf411 100644
--- a/Tests/RunCMake/VSSolution/SolutionItems-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/SolutionItems-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/SolutionItems.slnx" [[
-
+
@@ -38,7 +38,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/SolutionItems/SolutionItemsSubp
-
+
diff --git a/Tests/RunCMake/VSSolution/StartupProject-check-slnx.cmake b/Tests/RunCMake/VSSolution/StartupProject-check-slnx.cmake
index efd6fcd6ab..b8f9639b59 100644
--- a/Tests/RunCMake/VSSolution/StartupProject-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/StartupProject-check-slnx.cmake
@@ -15,7 +15,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/StartupProject.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/StartupProjectMissing-check-slnx.cmake b/Tests/RunCMake/VSSolution/StartupProjectMissing-check-slnx.cmake
index f2de6f324c..ce0f3822d2 100644
--- a/Tests/RunCMake/VSSolution/StartupProjectMissing-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/StartupProjectMissing-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/StartupProjectMissing.slnx" [[
-
+
diff --git a/Tests/RunCMake/VSSolution/StartupProjectUseFolders-check-slnx.cmake b/Tests/RunCMake/VSSolution/StartupProjectUseFolders-check-slnx.cmake
index dcebe09298..c3aef00aa7 100644
--- a/Tests/RunCMake/VSSolution/StartupProjectUseFolders-check-slnx.cmake
+++ b/Tests/RunCMake/VSSolution/StartupProjectUseFolders-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/StartupProjectUseFolders.slnx"
-
+
diff --git a/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkTargetPlatform-check-slnx.cmake b/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkTargetPlatform-check-slnx.cmake
index f1f7492c1c..aa1c0f60c8 100644
--- a/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkTargetPlatform-check-slnx.cmake
+++ b/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkTargetPlatform-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/VsDotnetSdkTargetPlatform.slnx"
-
+
diff --git a/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake b/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake
index 560c9c0229..ba6894161f 100644
--- a/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake
+++ b/Tests/RunCMake/include_external_msproject/AutoType-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/AutoType.slnx" [[
-
+
diff --git a/Tests/RunCMake/include_external_msproject/CustomConfig-check-slnx.cmake b/Tests/RunCMake/include_external_msproject/CustomConfig-check-slnx.cmake
index 439d9ffb66..d3f5b8b064 100644
--- a/Tests/RunCMake/include_external_msproject/CustomConfig-check-slnx.cmake
+++ b/Tests/RunCMake/include_external_msproject/CustomConfig-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/CustomConfig.slnx" [[
-
+
diff --git a/Tests/RunCMake/include_external_msproject/CustomGuid-check-slnx.cmake b/Tests/RunCMake/include_external_msproject/CustomGuid-check-slnx.cmake
index c03a4280f8..07a16b61a0 100644
--- a/Tests/RunCMake/include_external_msproject/CustomGuid-check-slnx.cmake
+++ b/Tests/RunCMake/include_external_msproject/CustomGuid-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/CustomGuid.slnx" [[
-
+
diff --git a/Tests/RunCMake/include_external_msproject/CustomGuidTypePlatform-check-slnx.cmake b/Tests/RunCMake/include_external_msproject/CustomGuidTypePlatform-check-slnx.cmake
index 9792fde7ec..a5806d03f2 100644
--- a/Tests/RunCMake/include_external_msproject/CustomGuidTypePlatform-check-slnx.cmake
+++ b/Tests/RunCMake/include_external_msproject/CustomGuidTypePlatform-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/CustomGuidTypePlatform.slnx" [[
-
+
diff --git a/Tests/RunCMake/include_external_msproject/CustomTypePlatform-check-slnx.cmake b/Tests/RunCMake/include_external_msproject/CustomTypePlatform-check-slnx.cmake
index 30156f1542..5eb662275a 100644
--- a/Tests/RunCMake/include_external_msproject/CustomTypePlatform-check-slnx.cmake
+++ b/Tests/RunCMake/include_external_msproject/CustomTypePlatform-check-slnx.cmake
@@ -8,7 +8,7 @@ RunCMake_check_slnx("${RunCMake_TEST_BINARY_DIR}/CustomTypePlatform.slnx" [[
-
+