//Factory things QT_BEGIN_INCLUDE_NAMESPACE #include "unixmake.h" #include "mingw_make.h" #include "projectgenerator.h" #include "pbuilder_pbx.h" #include "msvc_nmake.h" #include "msvc_vcproj.h" #include "msvc_vcxproj.h" #include "gbuild.h" QT_END_INCLUDE_NAMESPACE MakefileGenerator * MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO) { Option::postProcessProject(proj); MakefileGenerator *mkfile = NULL; if(Option::qmake_mode == Option::QMAKE_GENERATE_PROJECT) { mkfile = new ProjectGenerator; mkfile->setProjectFile(proj); return mkfile; } ProString gen = proj->first("MAKEFILE_GENERATOR"); if(gen.isEmpty()) { fprintf(stderr, "MAKEFILE_GENERATOR variable not set as a result of parsing : %s. Possibly qmake was not able to find files included using \"include(..)\" - enable qmake debugging to investigate more.\n", proj->projectFile().toLatin1().constData()); } else if(gen == "UNIX") { mkfile = new UnixMakefileGenerator; } else if(gen == "MINGW") { mkfile = new MingwMakefileGenerator; } else if(gen == "PROJECTBUILDER" || gen == "XCODE") { #ifdef Q_CC_MSVC fprintf(stderr, "Generating Xcode projects is not supported with an MSVC build of Qt.\n"); #else mkfile = new ProjectBuilderMakefileGenerator; #endif } else if(gen == "MSVC.NET") { if (proj->first("TEMPLATE").startsWith("vc")) mkfile = new VcprojGenerator; else mkfile = new NmakeMakefileGenerator; } else if(gen == "MSBUILD") { // Visual Studio >= v11.0 if (proj->first("TEMPLATE").startsWith("vc")) mkfile = new VcxprojGenerator; else mkfile = new NmakeMakefileGenerator; } else if(gen == "GBUILD") { mkfile = new GBuildMakefileGenerator; } else { fprintf(stderr, "Unknown generator specified: %s\n", gen.toLatin1().constData()); } if (mkfile) { mkfile->setNoIO(noIO); mkfile->setProjectFile(proj); } return mkfile; }
//Factory things QT_BEGIN_INCLUDE_NAMESPACE #include "unixmake.h" #include "mingw_make.h" #include "projectgenerator.h" #include "pbuilder_pbx.h" #include "msvc_nmake.h" #include "borland_bmake.h" #include "msvc_dsp.h" #include "msvc_vcproj.h" QT_END_INCLUDE_NAMESPACE MakefileGenerator * MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO) { MakefileGenerator *mkfile = NULL; if(Option::qmake_mode == Option::QMAKE_GENERATE_PROJECT) { mkfile = new ProjectGenerator; mkfile->setProjectFile(proj); return mkfile; } QString gen = proj->first("MAKEFILE_GENERATOR"); if(gen.isEmpty()) { fprintf(stderr, "No generator specified in config file: %s\n", proj->projectFile().toLatin1().constData()); } else if(gen == "UNIX") { mkfile = new UnixMakefileGenerator; } else if(gen == "MINGW") { mkfile = new MingwMakefileGenerator; } else if(gen == "PROJECTBUILDER" || gen == "XCODE") { mkfile = new ProjectBuilderMakefileGenerator; } else if(gen == "MSVC") { // Visual Studio =< v6.0 if(proj->first("TEMPLATE").indexOf(QRegExp("^vc.*")) != -1) mkfile = new DspMakefileGenerator; else mkfile = new NmakeMakefileGenerator; } else if(gen == "MSVC.NET") { // Visual Studio >= v7.0 if(proj->first("TEMPLATE").indexOf(QRegExp("^vc.*")) != -1 || proj->first("TEMPLATE").indexOf(QRegExp("^ce.*")) != -1) mkfile = new VcprojGenerator; else mkfile = new NmakeMakefileGenerator; } else if(gen == "BMAKE") { mkfile = new BorlandMakefileGenerator; } else { fprintf(stderr, "Unknown generator specified: %s\n", gen.toLatin1().constData()); } if (mkfile) { mkfile->setNoIO(noIO); mkfile->setProjectFile(proj); } return mkfile; }
//Factory things QT_BEGIN_INCLUDE_NAMESPACE #include "unixmake.h" #include "mingw_make.h" #include "projectgenerator.h" #include "pbuilder_pbx.h" #include "msvc_nmake.h" #include "borland_bmake.h" #include "msvc_vcproj.h" #include "msvc_vcxproj.h" #include "symmake_abld.h" #include "symmake_sbsv2.h" #include "symbian_makefile.h" #include "gbuild.h" QT_END_INCLUDE_NAMESPACE MakefileGenerator * MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO) { MakefileGenerator *mkfile = NULL; if(Option::qmake_mode == Option::QMAKE_GENERATE_PROJECT) { mkfile = new ProjectGenerator; mkfile->setProjectFile(proj); return mkfile; } QString gen = proj->first("MAKEFILE_GENERATOR"); if(gen.isEmpty()) { fprintf(stderr, "MAKEFILE_GENERATOR variable not set as a result of parsing : %s. Possibly qmake was not able to find files included using \"include(..)\" - enable qmake debugging to investigate more.\n", proj->projectFile().toLatin1().constData()); } else if(gen == "UNIX") { mkfile = new UnixMakefileGenerator; } else if(gen == "MINGW") { mkfile = new MingwMakefileGenerator; } else if(gen == "PROJECTBUILDER" || gen == "XCODE") { mkfile = new ProjectBuilderMakefileGenerator; } else if(gen == "MSVC.NET") { if (proj->first("TEMPLATE").startsWith("vc")) mkfile = new VcprojGenerator; else mkfile = new NmakeMakefileGenerator; } else if(gen == "MSBUILD") { // Visual Studio >= v11.0 if (proj->first("TEMPLATE").startsWith("vc")) mkfile = new VcxprojGenerator; else mkfile = new NmakeMakefileGenerator; } else if(gen == "BMAKE") { mkfile = new BorlandMakefileGenerator; } else if(gen == "SYMBIAN_ABLD") { mkfile = new SymbianAbldMakefileGenerator; } else if(gen == "SYMBIAN_SBSV2") { mkfile = new SymbianSbsv2MakefileGenerator; } else if(gen == "SYMBIAN_UNIX") { mkfile = new SymbianMakefileTemplate<UnixMakefileGenerator>; } else if(gen == "SYMBIAN_MINGW") { mkfile = new SymbianMakefileTemplate<MingwMakefileGenerator>; } else if(gen == "GBUILD") { mkfile = new GBuildMakefileGenerator; } else { fprintf(stderr, "Unknown generator specified: %s\n", gen.toLatin1().constData()); } if (mkfile) { mkfile->setNoIO(noIO); mkfile->setProjectFile(proj); } return mkfile; }