BUG: fix for build out of dir for windows
This commit is contained in:
parent
fe8428a3ee
commit
c1c3149d16
|
@ -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,
|
void cmLocalUnixMakefileGenerator::OutputBuildTargetInDir(std::ostream& fout,
|
||||||
const char* path,
|
const char* path,
|
||||||
const char* library,
|
const char* library,
|
||||||
const char* fullpath,
|
const char* fullpath,
|
||||||
const char* outputPath)
|
const char* outputPath)
|
||||||
{
|
{
|
||||||
|
if(m_WindowsShell)
|
||||||
|
{
|
||||||
|
this->OutputBuildTargetInDirWindows(fout, path, library, fullpath, outputPath);
|
||||||
|
return;
|
||||||
|
}
|
||||||
const char* makeTarget = library;
|
const char* makeTarget = library;
|
||||||
if(outputPath && strcmp( outputPath, "" ) != 0)
|
if(outputPath && strcmp( outputPath, "" ) != 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -164,6 +164,11 @@ protected:
|
||||||
const char* command2 = 0,
|
const char* command2 = 0,
|
||||||
const char* command3 = 0,
|
const char* command3 = 0,
|
||||||
const char* command4 = 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,
|
virtual void OutputBuildTargetInDir(std::ostream& fout,
|
||||||
const char* path,
|
const char* path,
|
||||||
const char* library,
|
const char* library,
|
||||||
|
|
Loading…
Reference in New Issue