/**************************************************************************** ** ** Copyright (C) 2011 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** ** This file is part of the qmake application of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE$ ** Licensees holding valid Qt Commercial licenses may use this file in ** accordance with the Qt Commercial License Agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. ** ** If you have questions regarding the use of this file, please use ** contact form at http://qt.digia.com ** $QT_END_LICENSE$ ** ** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** ****************************************************************************/ #ifndef MSVC_VCXPROJ_H #define MSVC_VCXPROJ_H #include "winmakefile.h" #include "msbuild_objectmodel.h" #include "msvc_vcproj.h" QT_BEGIN_NAMESPACE class VcxprojGenerator : public VcprojGenerator { bool writeMakefile(QTextStream &); bool writeProjectMakefile(); public: VcxprojGenerator(); ~VcxprojGenerator(); protected: virtual bool supportsMetaBuild() { return true; } virtual bool supportsMergedBuilds() { return true; } virtual bool mergeBuildProject(MakefileGenerator *other); virtual void initProject(); void initConfiguration(); void initCompilerTool(); void initDeploymentTool(); void initLinkerTool(); void initPreLinkEventTools(); void initPreBuildEventTools(); void initPostBuildEventTools(); void initRootFiles(); void initResourceTool(); void initSourceFiles(); void initHeaderFiles(); void initGeneratedFiles(); void initTranslationFiles(); void initFormFiles(); void initResourceFiles(); void initLexYaccFiles(); void initExtraCompilerOutputs(); // Used for single project VCXProjectSingleConfig vcxProject; // Holds all configurations for glue (merged) project QList mergedProjects; private: friend class VCXFilter; }; inline VcxprojGenerator::~VcxprojGenerator() { } QT_END_NAMESPACE #endif // MSVC_VCXPROJ_H