]> git.tdb.fi Git - builder.git/blobdiff - plugins/builtin/vssolutiongenerator.cpp
Convert builtin tools into a plugin
[builder.git] / plugins / builtin / vssolutiongenerator.cpp
diff --git a/plugins/builtin/vssolutiongenerator.cpp b/plugins/builtin/vssolutiongenerator.cpp
deleted file mode 100644 (file)
index 60602e1..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <cstring>
-#include <msp/builder/builder.h>
-#include <msp/builder/sourcepackage.h>
-#include <msp/io/file.h>
-#include <msp/io/print.h>
-#include "vcxprojectfile.h"
-#include "vssolutionfile.h"
-#include "vssolutiongenerator.h"
-
-using namespace std;
-using namespace Msp;
-
-VsSolutionGenerator::VsSolutionGenerator(Builder &b):
-       Tool(b, "VSSG")
-{
-       set_run_internal(_run);
-}
-
-Target *VsSolutionGenerator::create_target(const vector<Target *> &, const string &)
-{
-       throw logic_error("Not implemented");
-}
-
-bool VsSolutionGenerator::_run(const VsSolutionFile &solution)
-{
-       const SourcePackage &spkg = *solution.get_package();
-       Builder &builder = spkg.get_builder();
-
-       IO::BufferedFile out(solution.get_path().str(), IO::M_WRITE);
-       IO::print(out, "Microsoft Visual Studio Solution File, Format Version 12.00\n");
-       IO::print(out, "MinimumVisualStudioVersion = 10.0.40219.1\n");
-
-       vector<const VcxProjectFile *> projects;
-       for(const Target *t: solution.get_dependencies())
-               if(const VcxProjectFile *project = dynamic_cast<const VcxProjectFile *>(t))
-                       projects.push_back(project);
-
-       for(const VcxProjectFile *p: projects)
-       {
-               const SourcePackage *pkg = p->get_package();
-               IO::print(out, "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"%s\", \"%s\", \"{%s}\"\nEndProject\n",
-                       pkg->get_name(), p->get_path(), p->get_guid());
-       }
-
-       vector<string> build_types = builder.get_build_types();
-       const char *platforms[] = { "x86", "x64" };
-
-       IO::print(out, "Global\n");
-       IO::print(out, "\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n");
-       for(const string &t: build_types)
-               for(const char *p: platforms)
-                       IO::print(out, "\t\t%s|%s = %s|%s\n", t, p, t, p);
-       IO::print(out, "\tEndGlobalSection\n");
-       IO::print(out, "\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n");
-       for(const VcxProjectFile *p: projects)
-               for(const string &t: build_types)
-                       for(const char *f: platforms)
-                       {
-                               const char *project_platform = (!strcmp(f, "x86") ? "Win32" : f);
-                               IO::print(out, "\t\t{%s}.%s|%s.ActiveCfg = %s|%s\n", p->get_guid(), t, f, t, project_platform);
-                               if(p->get_package()==&spkg)
-                                       IO::print(out, "\t\t{%s}.%s|%s.Build.0 = %s|%s\n", p->get_guid(), t, f, t, project_platform);
-                       }
-       IO::print(out, "\tEndGlobalSection\n");
-       IO::print(out, "EndGlobal\n");
-
-       return true;
-}