1 #include <msp/builder/builder.h>
2 #include <msp/builder/tool.h>
3 #include "builtinplugin.h"
4 #include "builtintools.h"
5 #include "compilecommandsjson.h"
6 #include "pkgconfigfile.h"
7 #include "vcxprojectfile.h"
8 #include "vssolutionfile.h"
10 void BuiltinPlugin::add_tools(Toolchain &toolchain, const Architecture &) const
12 toolchain.add_toolchain(new BuiltinTools(builder));
15 void BuiltinPlugin::create_targets(SourcePackage &spkg) const
17 const Architecture &native_arch = builder.get_native_arch();
19 if(!spkg.get_exported_build_info().libs.empty() && native_arch.get_system()=="linux")
21 PkgConfigFile *pc = new PkgConfigFile(builder, spkg);
22 builder.get_build_graph().get_target("install")->add_dependency(*builder.get_toolchain().get_tool("CP").create_target(*pc));
25 if(native_arch.get_system()=="windows")
27 new VcxProjectFile(builder, spkg);
28 new VsSolutionFile(builder, spkg);
31 new CompileCommandsJson(builder, spkg);
36 Plugin *create_plugin(Builder &builder)
38 return new BuiltinPlugin(builder);