diff options
Diffstat (limited to 'Source/CMakeBuildTargets.cxx')
-rw-r--r-- | Source/CMakeBuildTargets.cxx | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Source/CMakeBuildTargets.cxx b/Source/CMakeBuildTargets.cxx new file mode 100644 index 0000000..06aebe8 --- /dev/null +++ b/Source/CMakeBuildTargets.cxx @@ -0,0 +1,41 @@ +#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("-I",0) != std::string::npos) + { + std::string path = arg.substr(2); + md.AddSearchPath(path.c_str()); + } + if(arg.find("-S",0) != std::string::npos) + { + std::string path = arg.substr(2); + mf->SetCurrentDirectory(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; +} |