[Cmake-commits] CMake branch, next, updated. v3.5.0-599-g207223d
Brad King
brad.king at kitware.com
Tue Mar 22 13:03:06 EDT 2016
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 207223d0c13b3c0d02dc53c3c9ede2ffd738bc6a (commit)
via 66f7509df06db9262dd9bbd25bff9e9da6117012 (commit)
via 26c2fd4e1a8c0f71dc3288260f1bd44077acbfcc (commit)
via c05ea48545f04dee8666094b0731366b64dfc9ad (commit)
from b97f9947f85629a46b0be182b48d14448857cb13 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=207223d0c13b3c0d02dc53c3c9ede2ffd738bc6a
commit 207223d0c13b3c0d02dc53c3c9ede2ffd738bc6a
Merge: b97f994 66f7509
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Mar 22 13:03:04 2016 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Mar 22 13:03:04 2016 -0400
Merge topic 'vs-startup-project' into next
66f7509d VS: Put ALL_BUILD in the PREDEFINED_TARGETS_FOLDER
26c2fd4e VS: Fix default target support for targets nested inside a folder
c05ea485 VS: Improve unit test macros
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=66f7509df06db9262dd9bbd25bff9e9da6117012
commit 66f7509df06db9262dd9bbd25bff9e9da6117012
Author: Taylor Braun-Jones <taylor at braun-jones.org>
AuthorDate: Mon Mar 21 16:05:41 2016 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Mar 22 13:02:36 2016 -0400
VS: Put ALL_BUILD in the PREDEFINED_TARGETS_FOLDER
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index b11b49a..9817b09 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -89,11 +89,6 @@ void cmGlobalVisualStudioGenerator::AddExtraIDETargets()
cmGeneratorTarget* gt = new cmGeneratorTarget(allBuild, gen[0]);
gen[0]->AddGeneratorTarget(gt);
-#if 0
- // Can't activate this code because we want ALL_BUILD
- // selected as the default "startup project" when first
- // opened in Visual Studio... And if it's nested in a
- // folder, then that doesn't happen.
//
// Organize in the "predefined targets" folder:
//
@@ -101,7 +96,6 @@ void cmGlobalVisualStudioGenerator::AddExtraIDETargets()
{
allBuild->SetProperty("FOLDER", this->GetPredefinedTargetsFolder());
}
-#endif
// Now make all targets depend on the ALL_BUILD target
for(std::vector<cmLocalGenerator*>::iterator i = gen.begin();
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=26c2fd4e1a8c0f71dc3288260f1bd44077acbfcc
commit 26c2fd4e1a8c0f71dc3288260f1bd44077acbfcc
Author: Taylor Braun-Jones <taylor at braun-jones.org>
AuthorDate: Mon Mar 21 16:01:20 2016 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Mar 22 13:02:06 2016 -0400
VS: Fix default target support for targets nested inside a folder
It's not actually the first target in a `.sln` file that is treated as
the default startup project, but rather the first fully defined target.
diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx
index f6796a5..289fbb5 100644
--- a/Source/cmGlobalVisualStudio71Generator.cxx
+++ b/Source/cmGlobalVisualStudio71Generator.cxx
@@ -97,7 +97,8 @@ void cmGlobalVisualStudio71Generator
OrderedTargetDependSet orderedProjectTargets(
projectTargets, this->GetStartupProjectName(root));
- this->WriteTargetsToSolution(fout, root, orderedProjectTargets);
+ std::stringstream targetsSlnString;
+ this->WriteTargetsToSolution(targetsSlnString, root, orderedProjectTargets);
bool useFolderProperty = this->UseFolderProperty();
if (useFolderProperty)
@@ -105,6 +106,8 @@ void cmGlobalVisualStudio71Generator
this->WriteFolders(fout);
}
+ fout << targetsSlnString.str();
+
// Write out the configurations information for the solution
fout << "Global\n";
// Write out the configurations for the solution
diff --git a/Tests/RunCMake/VSSolution/RunCMakeTest.cmake b/Tests/RunCMake/VSSolution/RunCMakeTest.cmake
index 8ae9598..19b309c 100644
--- a/Tests/RunCMake/VSSolution/RunCMakeTest.cmake
+++ b/Tests/RunCMake/VSSolution/RunCMakeTest.cmake
@@ -10,3 +10,4 @@ run_cmake(Override1)
run_cmake(Override2)
run_cmake(StartupProject)
run_cmake(StartupProjectMissing)
+run_cmake(StartupProjectUseFolders)
diff --git a/Tests/RunCMake/VSSolution/StartupProjectUseFolders-check.cmake b/Tests/RunCMake/VSSolution/StartupProjectUseFolders-check.cmake
new file mode 100644
index 0000000..c0a545a
--- /dev/null
+++ b/Tests/RunCMake/VSSolution/StartupProjectUseFolders-check.cmake
@@ -0,0 +1,9 @@
+getProjectNames(projects)
+list(GET projects 0 first_project)
+if(NOT first_project STREQUAL "CMakePredefinedTargets")
+ error("CMakePredefinedTargets is not the first project")
+endif()
+list(GET projects 1 second_project)
+if(NOT second_project STREQUAL "TestStartup")
+ error("TestStartup does not immediately follow the CMakePredefinedTargets project")
+endif()
diff --git a/Tests/RunCMake/VSSolution/StartupProjectUseFolders.cmake b/Tests/RunCMake/VSSolution/StartupProjectUseFolders.cmake
new file mode 100644
index 0000000..8e422a4
--- /dev/null
+++ b/Tests/RunCMake/VSSolution/StartupProjectUseFolders.cmake
@@ -0,0 +1,3 @@
+add_custom_target(TestStartup)
+set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT "TestStartup")
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c05ea48545f04dee8666094b0731366b64dfc9ad
commit c05ea48545f04dee8666094b0731366b64dfc9ad
Author: Taylor Braun-Jones <taylor at braun-jones.org>
AuthorDate: Mon Mar 21 14:34:34 2016 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Mar 22 12:41:30 2016 -0400
VS: Improve unit test macros
Change `getFirstProject` macro to more flexible version
`getProjectNames`
diff --git a/Tests/RunCMake/VSSolution/StartupProject-check.cmake b/Tests/RunCMake/VSSolution/StartupProject-check.cmake
index 352bbd5..f36aab2 100644
--- a/Tests/RunCMake/VSSolution/StartupProject-check.cmake
+++ b/Tests/RunCMake/VSSolution/StartupProject-check.cmake
@@ -1,4 +1,5 @@
-getFirstProject(first_project StartupProject)
+getProjectNames(projects)
+list(GET projects 0 first_project)
if(NOT first_project STREQUAL "TestStartup")
error("TestStartup is not the startup project")
endif()
diff --git a/Tests/RunCMake/VSSolution/StartupProjectMissing-check.cmake b/Tests/RunCMake/VSSolution/StartupProjectMissing-check.cmake
index 95fede7..b1017dd 100644
--- a/Tests/RunCMake/VSSolution/StartupProjectMissing-check.cmake
+++ b/Tests/RunCMake/VSSolution/StartupProjectMissing-check.cmake
@@ -1,4 +1,5 @@
-getFirstProject(first_project StartupProjectMissing)
+getProjectNames(projects)
+list(GET projects 0 first_project)
if(NOT first_project STREQUAL "ALL_BUILD")
error("ALL_BUILD is not the startup project")
endif()
diff --git a/Tests/RunCMake/VSSolution/solution_parsing.cmake b/Tests/RunCMake/VSSolution/solution_parsing.cmake
index 001b584..4e5bb59 100644
--- a/Tests/RunCMake/VSSolution/solution_parsing.cmake
+++ b/Tests/RunCMake/VSSolution/solution_parsing.cmake
@@ -50,17 +50,18 @@ macro(parseGlobalSections arg_out_pre arg_out_post testName)
endmacro()
-macro(getFirstProject arg_out_first_project testName)
- set(${arg_out_first_project} "")
- set(sln "${RunCMake_TEST_BINARY_DIR}/${testName}.sln")
+macro(getProjectNames arg_out_projects)
+ set(${arg_out_projects} "")
+ set(sln "${RunCMake_TEST_BINARY_DIR}/${test}.sln")
if(NOT EXISTS "${sln}")
error("Expected solution file ${sln} does not exist")
endif()
file(STRINGS "${sln}" project_lines REGEX "^Project\\(")
- list(GET project_lines 0 first_project)
- string(REGEX REPLACE ".* = \"" "" first_project "${first_project}")
- string(REGEX REPLACE "\", .*" "" first_project "${first_project}")
- set(${arg_out_first_project} "${first_project}")
+ foreach(project_line IN LISTS project_lines)
+ string(REGEX REPLACE ".* = \"" "" project_line "${project_line}")
+ string(REGEX REPLACE "\", .*" "" project_line "${project_line}")
+ list(APPEND ${arg_out_projects} "${project_line}")
+ endforeach()
endmacro()
-----------------------------------------------------------------------
Summary of changes:
Source/cmGlobalVisualStudio71Generator.cxx | 5 ++++-
Source/cmGlobalVisualStudioGenerator.cxx | 6 ------
Tests/RunCMake/VSSolution/RunCMakeTest.cmake | 1 +
Tests/RunCMake/VSSolution/StartupProject-check.cmake | 3 ++-
.../VSSolution/StartupProjectMissing-check.cmake | 3 ++-
.../VSSolution/StartupProjectUseFolders-check.cmake | 9 +++++++++
...rtupProject.cmake => StartupProjectUseFolders.cmake} | 1 +
Tests/RunCMake/VSSolution/solution_parsing.cmake | 15 ++++++++-------
8 files changed, 27 insertions(+), 16 deletions(-)
create mode 100644 Tests/RunCMake/VSSolution/StartupProjectUseFolders-check.cmake
copy Tests/RunCMake/VSSolution/{StartupProject.cmake => StartupProjectUseFolders.cmake} (68%)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list