7c34e0a7b4
these characters can appear in file names, but are meta characters in dependency context. they have different semantics in make commands, so this required some reshuffling in the windows generator (which just treated dependencies and commands the same way). we don't actually escape colons for nmake, because it has magic treatment of drive letters anyway (and colons cannot appear elsewhere). also, if a target's filename gets quoted, batch rules will blow up. therefore, "funny" file names are really only supported as inputs - which is just enough to make resource embedding work. Task-number: QTBUG-22863 Task-number: QTBUG-68635 Change-Id: I473b0bf47d045298fd2ae481a29de603a3c1be30 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
61 lines
2.0 KiB
C++
61 lines
2.0 KiB
C++
/****************************************************************************
|
|
**
|
|
** Copyright (C) 2016 The Qt Company Ltd.
|
|
** Contact: https://www.qt.io/licensing/
|
|
**
|
|
** This file is part of the qmake application of the Qt Toolkit.
|
|
**
|
|
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
|
** Commercial License Usage
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
** accordance with the commercial license agreement provided with the
|
|
** Software or, alternatively, in accordance with the terms contained in
|
|
** a written agreement between you and The Qt Company. For licensing terms
|
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
** information use the contact form at https://www.qt.io/contact-us.
|
|
**
|
|
** GNU General Public License Usage
|
|
** Alternatively, this file may be used under the terms of the GNU
|
|
** General Public License version 3 as published by the Free Software
|
|
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
|
** included in the packaging of this file. Please review the following
|
|
** information to ensure the GNU General Public License requirements will
|
|
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
|
**
|
|
** $QT_END_LICENSE$
|
|
**
|
|
****************************************************************************/
|
|
|
|
#ifndef PROJECTGENERATOR_H
|
|
#define PROJECTGENERATOR_H
|
|
|
|
#include "makefile.h"
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
class ProjectGenerator : public MakefileGenerator
|
|
{
|
|
bool addFile(QString);
|
|
bool addConfig(const QString &, bool add=true);
|
|
QString getWritableVar(const char *, bool fixPath=true);
|
|
QString fixPathToQmake(const QString &file);
|
|
protected:
|
|
virtual void init();
|
|
virtual bool writeMakefile(QTextStream &);
|
|
|
|
virtual QString escapeFilePath(const QString &path) const { Q_ASSERT(false); return QString(); }
|
|
|
|
public:
|
|
ProjectGenerator();
|
|
~ProjectGenerator();
|
|
virtual bool supportsMetaBuild() { return false; }
|
|
virtual bool openOutput(QFile &, const QString &) const;
|
|
};
|
|
|
|
inline ProjectGenerator::~ProjectGenerator()
|
|
{ }
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
#endif // PROJECTGENERATOR_H
|