]> git.tdb.fi Git - builder.git/blob - source/compilecommandsjson.cpp
Add support for generating compile_commands.json
[builder.git] / source / compilecommandsjson.cpp
1 #include "builder.h"
2 #include "package.h"
3 #include "compilecommandsjson.h"
4 #include "objectfile.h"
5
6 CompileCommandsJson::CompileCommandsJson(Builder &b, const SourcePackage &p):
7         FileTarget(b, p, p.get_source_directory()/("compile_commands.json"))
8 {
9         tool = &builder.get_toolchain().get_tool("CCJG");
10 }
11
12 void CompileCommandsJson::find_dependencies()
13 {
14         const BuildGraph::TargetMap &targets = builder.get_build_graph().get_targets();
15         for(BuildGraph::TargetMap::const_iterator i=targets.begin(); i!=targets.end(); ++i)
16                 if(i->second->is_buildable() && i->second->get_package()==package && dynamic_cast<ObjectFile *>(i->second))
17                         i->second->prepare();
18 }