Diffstat (limited to 'qmake/generators/win32/msvc_vcproj.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | qmake/generators/win32/msvc_vcproj.h | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/qmake/generators/win32/msvc_vcproj.h b/qmake/generators/win32/msvc_vcproj.h new file mode 100644 index 0000000..583b164 --- a/dev/null +++ b/qmake/generators/win32/msvc_vcproj.h @@ -0,0 +1,129 @@ +/**************************************************************************** +** $Id$ +** +** Definition of VcprojGenerator class. +** +** Created : 970521 +** +** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. +** +** This file is part of the network module of the Qt GUI Toolkit. +** +** This file may be distributed under the terms of the Q Public License +** as defined by Trolltech AS of Norway and appearing in the file +** LICENSE.QPL included in the packaging of this file. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** Licensees holding valid Qt Enterprise Edition licenses may use this +** file in accordance with the Qt Commercial License Agreement provided +** with the Software. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for +** information about Qt Commercial License Agreements. +** See http://www.trolltech.com/qpl/ for QPL licensing information. +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ +#ifndef __VCPROJMAKE_H__ +#define __VCPROJMAKE_H__ + +#include "winmakefile.h" +#include "msvc_objectmodel.h" + +enum target { + Application, + SharedLib, + StaticLib +}; + +class VcprojGenerator : public Win32MakefileGenerator +{ + bool init_flag; + bool writeVcprojParts(QTextStream &); + + bool writeMakefile(QTextStream &); + virtual void writeSubDirs(QTextStream &t); + QString findTemplate(QString file); + void init(); + +public: + VcprojGenerator(QMakeProject *p); + ~VcprojGenerator(); + + QString defaultMakefile() const; + virtual bool doDepends() const { return FALSE; } //never necesary + +protected: + virtual bool openOutput(QFile &file) const; + virtual void processPrlVariable(const QString &, const QStringList &); + virtual bool findLibraries(); + virtual void outputVariables(); + + void initOld(); + void initProject(); + void initConfiguration(); + void initCompilerTool(); + void initLinkerTool(); + void initLibrarianTool(); + void initIDLTool(); + void initCustomBuildTool(); + void initPreBuildEventTools(); + void initPostBuildEventTools(); + void initPreLinkEventTools(); + void initSourceFiles(); + void initHeaderFiles(); + void initMOCFiles(); + void initUICFiles(); + void initFormsFiles(); + void initTranslationFiles(); + void initLexYaccFiles(); + void initResourceFiles(); + + /* + void writeGuid( QTextStream &t ); + void writeAdditionalOptions( QTextStream &t ); + void writeHeaders( QTextStream &t ); + void writeSources( QTextStream &t ); + void writeMocs( QTextStream &t ); + void writeLexs( QTextStream &t ); + void writeYaccs( QTextStream &t ); + void writePictures( QTextStream &t ); + void writeImages( QTextStream &t ); + void writeIDLs( QTextStream &t ); + + void writeForms( QTextStream &t ); + void writeFormsSourceHeaders( QString &variable, QTextStream &t ); + void writeTranslations( QTextStream &t ); + void writeStrippedTranslations( QTextStream &t ); + */ + + VCProject vcProject; + target projectTarget; + + friend class VCFilter; +}; + +inline VcprojGenerator::~VcprojGenerator() +{ } + +inline QString VcprojGenerator::defaultMakefile() const +{ + return project->first("TARGET") + project->first("VCPROJ_EXTENSION"); +} + +inline bool VcprojGenerator::findLibraries() +{ + return Win32MakefileGenerator::findLibraries("MSVCVCPROJ_LIBS"); +} + +#endif /* __VCPROJMAKE_H__ */ |