summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio71Generator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-12-20 16:56:18 (GMT)
committerBrad King <brad.king@kitware.com>2010-12-20 16:56:18 (GMT)
commite1442ac9c16768962b43575ace24c7cf277c2e74 (patch)
treeeda66d99b8e9a259dd00e8e5e1d0bf549ab35ee3 /Source/cmGlobalVisualStudio71Generator.cxx
parent42a2e9d91ac3f82562ffe934273dbf0877cdcf26 (diff)
downloadCMake-e1442ac9c16768962b43575ace24c7cf277c2e74.zip
CMake-e1442ac9c16768962b43575ace24c7cf277c2e74.tar.gz
CMake-e1442ac9c16768962b43575ace24c7cf277c2e74.tar.bz2
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.
Diffstat (limited to 'Source/cmGlobalVisualStudio71Generator.cxx')
-rw-r--r--Source/cmGlobalVisualStudio71Generator.cxx8
1 files changed, 4 insertions, 4 deletions
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"