CMake/Source/CMakeBuildTargets.cxx

47 lines
1010 B
C++

#include "cmUnixMakefile.h"
#include "cmMakeDepend.h"
#include <iostream>
main(int ac, char** av)
{
if(ac < 2)
{
std::cerr << "Usage: " << av[0] << " Makefile.in -Ipath ..." << std::endl;
return -1;
}
cmUnixMakefile* mf = new cmUnixMakefile;
cmMakeDepend md;
if(ac > 2)
{
for(int i =2; i < ac; i++)
{
std::string arg = av[i];
if(arg.find("-S",0) != std::string::npos)
{
std::string path = arg.substr(2);
mf->SetCurrentDirectory(path.c_str());
}
if(arg.find("-B",0) != std::string::npos)
{
std::string path = arg.substr(2);
mf->SetOutputHomeDirectory(path.c_str());
}
if(arg.find("-H",0) != std::string::npos)
{
std::string path = arg.substr(2);
mf->SetHomeDirectory(path.c_str());
}
}
}
if(!mf->ReadMakefile(av[1]))
{
std::cerr << "Usage: " << av[0] << " Makefile.in -Ipath ..." << std::endl;
return -1;
}
md.SetMakefile(mf);
md.DoDepends();
mf->OutputMakefile("CMakeTargets.make");
delete mf;
}