summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudioGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-03-08 21:32:03 (GMT)
committerBrad King <brad.king@kitware.com>2012-03-12 20:44:03 (GMT)
commitf737bd416a49d79db032f97c3046e7eccc6aaea9 (patch)
tree777cc9c2957cbad01846f63686954bf8ce23a74f /Source/cmGlobalVisualStudioGenerator.cxx
parent9c0a00d6dd6e7419eba61bcac30bdd0715b8b2cd (diff)
downloadCMake-f737bd416a49d79db032f97c3046e7eccc6aaea9.zip
CMake-f737bd416a49d79db032f97c3046e7eccc6aaea9.tar.gz
CMake-f737bd416a49d79db032f97c3046e7eccc6aaea9.tar.bz2
Pre-compute and store target object directory in cmGeneratorTarget
Add cmGeneratorTarget::ObjectDirectory member to hold the value. In ComputeTargetObjects set the value to the full path to the target object directory including any necessary placeholder for the configuration name.
Diffstat (limited to 'Source/cmGlobalVisualStudioGenerator.cxx')
-rw-r--r--Source/cmGlobalVisualStudioGenerator.cxx16
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index e5a9784..4b9e487 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -139,6 +139,22 @@ cmGlobalVisualStudioGenerator
}
gt->Objects[sf] = objectName;
}
+
+ std::string dir = gt->Makefile->GetCurrentOutputDirectory();
+ dir += "/";
+ std::string tgtDir = lg->GetTargetDirectory(*gt->Target);
+ if(!tgtDir.empty())
+ {
+ dir += tgtDir;
+ dir += "/";
+ }
+ const char* cd = this->GetCMakeCFGIntDir();
+ if(cd && *cd)
+ {
+ dir += cd;
+ dir += "/";
+ }
+ gt->ObjectDirectory = dir;
}
//----------------------------------------------------------------------------