BUG: fix for build out of dir for windows

This commit is contained in:
Bill Hoffman 2002-11-13 18:27:29 -05:00
parent fe8428a3ee
commit c1c3149d16
2 changed files with 34 additions and 0 deletions

View File

@ -1222,12 +1222,41 @@ void cmLocalUnixMakefileGenerator::OutputDependLibs(std::ostream& fout)
}
}
void cmLocalUnixMakefileGenerator::OutputBuildTargetInDirWindows(std::ostream& fout,
const char* path,
const char* library,
const char* fullpath,
const char* libOutPath)
{
const char* makeTarget = library;
std::string currentDir =
cmSystemTools::ConvertToOutputPath(m_Makefile->GetCurrentOutputDirectory());
std::string wpath = cmSystemTools::ConvertToOutputPath(path);
std::string wfullpath = cmSystemTools::ConvertToOutputPath(fullpath);
if(libOutPath && strcmp( libOutPath, "" ) != 0)
{
makeTarget = wfullpath.c_str();
}
fout << wfullpath
<< ":\n\tcd " << wpath << "\n"
<< "\t$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) cmake.depends\n"
<< "\t$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) cmake.check_depends\n"
<< "\t$(MAKE) -$(MAKEFLAGS) $(MAKESILENT) -f cmake.check_depends\n"
<< "\t$(MAKE) $(MAKESILENT) " << makeTarget
<< "\n\tcd " << currentDir << "\n";
}
void cmLocalUnixMakefileGenerator::OutputBuildTargetInDir(std::ostream& fout,
const char* path,
const char* library,
const char* fullpath,
const char* outputPath)
{
if(m_WindowsShell)
{
this->OutputBuildTargetInDirWindows(fout, path, library, fullpath, outputPath);
return;
}
const char* makeTarget = library;
if(outputPath && strcmp( outputPath, "" ) != 0)
{

View File

@ -164,6 +164,11 @@ protected:
const char* command2 = 0,
const char* command3 = 0,
const char* command4 = 0);
virtual void OutputBuildTargetInDirWindows(std::ostream& fout,
const char* path,
const char* library,
const char* fullpath,
const char* outputPath);
virtual void OutputBuildTargetInDir(std::ostream& fout,
const char* path,
const char* library,