[Cmake-commits] CMake branch, next, updated. v2.8.3-1029-gd8848f9

Brad King brad.king at kitware.com
Mon Dec 20 12:41:20 EST 2010


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  d8848f904db5473717f5c1fb99e454e22f4f8a59 (commit)
       via  e1442ac9c16768962b43575ace24c7cf277c2e74 (commit)
       via  42a2e9d91ac3f82562ffe934273dbf0877cdcf26 (commit)
       via  2c2eee61c1fb5bbe7e323699a40463087e808114 (commit)
      from  cd259c747753272516116c7f29736d4b880304bf (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 -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d8848f904db5473717f5c1fb99e454e22f4f8a59
commit d8848f904db5473717f5c1fb99e454e22f4f8a59
Merge: cd259c7 e1442ac
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Dec 20 12:41:13 2010 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Dec 20 12:41:13 2010 -0500

    Merge topic 'vs10-sln-msbuild-workaround' into next
    
    e1442ac Avoid msbuild ".\" idiosyncrasy that builds multiple configs (#11594)
    42a2e9d Revert "Avoid msbuild idiosyncrasy that builds multiple configs" (#11633)
    2c2eee6 Revert "Remove unused parameter "root" in some VS generator methods"


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e1442ac9c16768962b43575ace24c7cf277c2e74
commit e1442ac9c16768962b43575ace24c7cf277c2e74
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Dec 20 11:56:18 2010 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Dec 20 11:56:18 2010 -0500

    Avoid msbuild ".\" idiosyncrasy that builds multiple configs (#11594)
    
    If a .sln file refers to a project file with a leading ".\", as in
    ".\foo.vcxproj" instead of just "foo.vcxproj" or a full path then
    msbuild behaves strangely.  Whenever target foo is built as a dependency
    of another target, msbuild brings multiple configurations up to date
    instead of just the requested configuration!
    
    Avoid a leading ".\" in project file references to avoid this behavior.
    This alternative fix to that attempted by commit 57e71533 (Avoid msbuild
    idiosyncrasy that builds multiple configs, 2010-12-10) avoids use of
    full path project file references which vcbuild does not support.

diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx
index ba18687..adb5f2f 100644
--- a/Source/cmGlobalVisualStudio71Generator.cxx
+++ b/Source/cmGlobalVisualStudio71Generator.cxx
@@ -182,8 +182,8 @@ cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
   std::string guid = this->GetGUID(dspname);
   fout << project
        << dspname << "\", \""
-       << this->ConvertToSolutionPath(dir)
-       << "\\" << dspname << ext << "\", \"{" << guid << "}\"\n";
+       << this->ConvertToSolutionPath(dir) << (dir[0]? "\\":"")
+       << dspname << ext << "\", \"{" << guid << "}\"\n";
   fout << "\tProjectSection(ProjectDependencies) = postProject\n";
   this->WriteProjectDepends(fout, dspname, dir, t);
   fout << "\tEndProjectSection\n";
@@ -196,8 +196,8 @@ cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
     const char* uname = ui->second.c_str();
     fout << "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \""
          << uname << "\", \""
-         << this->ConvertToSolutionPath(dir)
-         << "\\" << uname << ".vcproj" << "\", \"{"
+         << this->ConvertToSolutionPath(dir) << (dir[0]? "\\":"")
+         << uname << ".vcproj" << "\", \"{"
          << this->GetGUID(uname) << "}\"\n"
          << "\tProjectSection(ProjectDependencies) = postProject\n"
          << "\t\t{" << guid << "} = {" << guid << "}\n"
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index d421c7f..51b8918 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -299,6 +299,10 @@ void cmGlobalVisualStudio7Generator::WriteTargetsToSolution(
         std::string dir = tmf->GetStartOutputDirectory();
         dir = root->Convert(dir.c_str(),
                             cmLocalGenerator::START_OUTPUT);
+        if(dir == ".")
+          {
+          dir = ""; // msbuild cannot handle ".\" prefix
+          }
         this->WriteProject(fout, vcprojName, dir.c_str(),
                            *target);
         written = true;
@@ -514,8 +518,8 @@ void cmGlobalVisualStudio7Generator::WriteProject(std::ostream& fout,
 
   fout << project
        << dspname << "\", \""
-       << this->ConvertToSolutionPath(dir)
-       << "\\" << dspname << ext << "\", \"{"
+       << this->ConvertToSolutionPath(dir) << (dir[0]? "\\":"")
+       << dspname << ext << "\", \"{"
        << this->GetGUID(dspname) << "}\"\nEndProject\n";
 
   UtilityDependsMap::iterator ui = this->UtilityDepends.find(&target);
@@ -524,8 +528,8 @@ void cmGlobalVisualStudio7Generator::WriteProject(std::ostream& fout,
     const char* uname = ui->second.c_str();
     fout << "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \""
          << uname << "\", \""
-         << this->ConvertToSolutionPath(dir)
-         << "\\" << uname << ".vcproj" << "\", \"{"
+         << this->ConvertToSolutionPath(dir) << (dir[0]? "\\":"")
+         << uname << ".vcproj" << "\", \"{"
          << this->GetGUID(uname) << "}\"\n"
          << "EndProject\n";
     }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=42a2e9d91ac3f82562ffe934273dbf0877cdcf26
commit 42a2e9d91ac3f82562ffe934273dbf0877cdcf26
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Dec 20 11:27:24 2010 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Dec 20 11:32:14 2010 -0500

    Revert "Avoid msbuild idiosyncrasy that builds multiple configs" (#11633)
    
    This reverts commit 57e71533f45601275afd7787d763664f9e6b9536.
    
    While "msbuild" can handle full paths to project files in solutions,
    the old "vcbuild" used for VS < 10 cannot.  We will need another
    way to fix issue #11594.

diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 6858674..d421c7f 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -297,6 +297,8 @@ void cmGlobalVisualStudio7Generator::WriteTargetsToSolution(
         {
         cmMakefile* tmf = target->GetMakefile();
         std::string dir = tmf->GetStartOutputDirectory();
+        dir = root->Convert(dir.c_str(),
+                            cmLocalGenerator::START_OUTPUT);
         this->WriteProject(fout, vcprojName, dir.c_str(),
                            *target);
         written = true;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2c2eee61c1fb5bbe7e323699a40463087e808114
commit 2c2eee61c1fb5bbe7e323699a40463087e808114
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Dec 20 11:15:55 2010 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Dec 20 11:15:55 2010 -0500

    Revert "Remove unused parameter "root" in some VS generator methods"
    
    This reverts commit 10f01ae962feb68177f7bd698b01bbc18668920c.

diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx
index 2874952..ba18687 100644
--- a/Source/cmGlobalVisualStudio71Generator.cxx
+++ b/Source/cmGlobalVisualStudio71Generator.cxx
@@ -110,7 +110,7 @@ void cmGlobalVisualStudio71Generator
   this->GetTargetSets(projectTargets, originalTargets, root, generators);
   OrderedTargetDependSet orderedProjectTargets(projectTargets);
 
-  this->WriteTargetsToSolution(fout, orderedProjectTargets);
+  this->WriteTargetsToSolution(fout, root, orderedProjectTargets);
 
   bool useFolderProperty = this->UseFolderProperty();
   if (useFolderProperty)
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index eb84a2c..6858674 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -270,6 +270,7 @@ void cmGlobalVisualStudio7Generator::WriteTargetConfigurations(
 
 void cmGlobalVisualStudio7Generator::WriteTargetsToSolution(
     std::ostream& fout,
+    cmLocalGenerator* root,
     OrderedTargetDependSet const& projectTargets)
 {
   for(OrderedTargetDependSet::const_iterator tt =
@@ -385,7 +386,7 @@ void cmGlobalVisualStudio7Generator
   this->GetTargetSets(projectTargets, originalTargets, root, generators);
   OrderedTargetDependSet orderedProjectTargets(projectTargets);
 
-  this->WriteTargetsToSolution(fout, orderedProjectTargets);
+  this->WriteTargetsToSolution(fout, root, orderedProjectTargets);
 
   bool useFolderProperty = this->UseFolderProperty();
   if (useFolderProperty)
diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h
index 57c079d..b6c84e8 100644
--- a/Source/cmGlobalVisualStudio7Generator.h
+++ b/Source/cmGlobalVisualStudio7Generator.h
@@ -118,6 +118,7 @@ protected:
 
   virtual void WriteTargetsToSolution(
     std::ostream& fout,
+    cmLocalGenerator* root,
     OrderedTargetDependSet const& projectTargets);
   virtual void WriteTargetDepends(
     std::ostream& fout,

-----------------------------------------------------------------------

Summary of changes:
 Source/cmGlobalVisualStudio71Generator.cxx |   10 +++++-----
 Source/cmGlobalVisualStudio7Generator.cxx  |   17 ++++++++++++-----
 Source/cmGlobalVisualStudio7Generator.h    |    1 +
 3 files changed, 18 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list