]> git.tdb.fi Git - builder.git/blob - plugins/msvc/msvcplugin.cpp
Make it possible to use built-in plugins
[builder.git] / plugins / msvc / msvcplugin.cpp
1 #include <msp/builder/architecture.h>
2 #include <msp/builder/builder.h>
3 #include "microsofttools.h"
4 #include "msvcplugin.h"
5 #include "vcxprojectfile.h"
6 #include "vssolutionfile.h"
7
8 void MsvcPlugin::add_tools(Toolchain &toolchain, const Architecture &arch) const
9 {
10         if(arch.get_system()=="windows")
11                 toolchain.add_toolchain(new MicrosoftTools(builder, arch));
12 }
13
14 void MsvcPlugin::create_targets(SourcePackage &spkg) const
15 {
16         const Architecture &native_arch = builder.get_native_arch();
17
18         if(native_arch.get_system()=="windows")
19         {
20                 new VcxProjectFile(builder, spkg);
21                 new VsSolutionFile(builder, spkg);
22         }
23 }
24
25
26 #ifdef MSVCTOOLS_BUILD
27 #if defined(_WIN32)
28 #define MSVCTOOLS_API __declspec(dllexport)
29 #elif defined(__GNUC__)
30 #define MSVCTOOLS_API __attribute__((visibility("default")))
31 #else
32 #define MSVCTOOLS_API
33 #endif
34
35 extern "C"
36 MSVCTOOLS_API Plugin *create_plugin(Builder &builder)
37 {
38         return new MsvcPlugin(builder);
39 }
40 #endif