]> git.tdb.fi Git - builder.git/blobdiff - source/systemtools.cpp
Add support for generating Visual C++ projects
[builder.git] / source / systemtools.cpp
index bf90cf0cf2041b3024b7c72703194495175645dc..c35b4aebf286de7255680ac2d7e2609afdf8c5c8 100644 (file)
@@ -1,15 +1,12 @@
 #include "architecture.h"
 #include "builder.h"
-#include "clangccompiler.h"
-#include "clangcxxcompiler.h"
-#include "clangobjccompiler.h"
+#include "clangcompiler.h"
 #include "gnuarchiver.h"
-#include "gnuccompiler.h"
-#include "gnucxxcompiler.h"
+#include "gnucompiler.h"
 #include "gnulinker.h"
-#include "gnuobjccompiler.h"
 #include "mingwdlltool.h"
 #include "systemtools.h"
+#include "vcxprojectgenerator.h"
 
 using namespace std;
 
@@ -18,19 +15,23 @@ SystemTools::SystemTools(Builder &builder, const Architecture &arch)
        const string &sys = arch.get_system();
        if((sys=="darwin" || sys=="freebsd") && builder.get_vfs().find_binary("clang"))
        {
-               add_tool(new ClangCCompiler(builder, arch));
-               add_tool(new ClangCxxCompiler(builder, arch));
-               add_tool(new ClangObjCCompiler(builder, arch));
+               add_tool(new ClangCompiler(builder, arch, "CC"));
+               add_tool(new ClangCompiler(builder, arch, "CXX"));
+               add_tool(new ClangCompiler(builder, arch, "OBJC"));
        }
        else
        {
-               add_tool(new GnuCCompiler(builder, arch));
-               add_tool(new GnuCxxCompiler(builder, arch));
-               add_tool(new GnuObjCCompiler(builder, arch));
+               add_tool(new GnuCompiler(builder, arch, "CC"));
+               add_tool(new GnuCompiler(builder, arch, "CXX"));
+               add_tool(new GnuCompiler(builder, arch, "OBJC"));
        }
 
        add_tool(new GnuLinker(builder, arch));
        add_tool(new GnuArchiver(builder, arch));
+
        if(arch.get_system()=="windows")
+       {
                add_tool(new MingwDllTool(builder, arch));
+               add_tool(new VcxProjectGenerator(builder));
+       }
 }