summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmLocalVisualStudio6Generator.cxx16
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx16
2 files changed, 28 insertions, 4 deletions
diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx
index 393e5a8..3168f81 100644
--- a/Source/cmLocalVisualStudio6Generator.cxx
+++ b/Source/cmLocalVisualStudio6Generator.cxx
@@ -467,9 +467,21 @@ void cmLocalVisualStudio6Generator::WriteCustomRule(std::ostream& fout,
const char* cacheValue = m_Makefile->GetDefinition(libPath.c_str());
if (cacheValue)
{
- libPath = cacheValue;
+ std::string exePath = "";
+ if (m_Makefile->GetDefinition("EXECUTABLE_OUTPUT_PATH"))
+ {
+ exePath = m_Makefile->GetDefinition("EXECUTABLE_OUTPUT_PATH");
+ }
+ if(exePath.size())
+ {
+ libPath = exePath;
+ }
+ else
+ {
+ libPath = cacheValue;
+ }
libPath += "/";
- libPath += "$(INTDIR)";
+ libPath += "$(INTDIR)/";
libPath += dep;
libPath += ".exe";
fout << "\\\n\t" <<
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 773a22f..979e4d9 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -870,8 +870,20 @@ WriteCustomRule(std::ostream& fout,
std::string libPath = dep + "_CMAKE_PATH";
const char* cacheValue = m_Makefile->GetDefinition(libPath.c_str());
if (cacheValue)
- {
- libPath = cacheValue;
+ {
+ std::string exePath = "";
+ if (m_Makefile->GetDefinition("EXECUTABLE_OUTPUT_PATH"))
+ {
+ exePath = m_Makefile->GetDefinition("EXECUTABLE_OUTPUT_PATH");
+ }
+ if(exePath.size())
+ {
+ libPath = exePath;
+ }
+ else
+ {
+ libPath = cacheValue;
+ }
libPath += "/";
libPath += "$(INTDIR)";
libPath += dep;