Changeset 363 for trunk/qmake


Ignore:
Timestamp:
Nov 30, 2009, 6:52:30 PM (16 years ago)
Author:
Dmitry A. Kuminov
Message:

global: Reverted r355, r356, r361, r362 (see #78).

Location:
trunk/qmake
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/qmake/cachekeys.h

    r362 r363  
    4848#include <qfile.h>
    4949#include <qfileinfo.h>
    50 #include <qdir.h>
    5150#include <qhash.h>
    5251
     
    108107            return true;
    109108
    110 #ifdef Q_OS_OS2
    111         return QDir::isRelativePath(file);
    112 #else
    113109        const QChar c0 = file.at(0);
    114110        const QChar c1 = length >= 2 ? file.at(1) : QChar(0);
     
    118114                || (c0 == QLatin1Char('/') && c1 == QLatin1Char('/'))
    119115                || (c0 == QLatin1Char('\\') && c1 == QLatin1Char('\\')));
    120 #endif   
    121116    }
    122117};
  • trunk/qmake/generators/makefile.cpp

    r362 r363  
    125125    }
    126126    bool ret = true;
    127 #if defined(Q_OS_WIN)
     127#if defined(Q_OS_WIN)
    128128    bool driveExists = true;
    129129    if(!QDir::isRelativePath(path)) {
     
    138138    }
    139139    if(driveExists)
    140 #elif defined(Q_OS_OS2)
    141     path = QFileInfo(path).absoluteFilePath();
    142     QString drv = path.left(3);
    143     if (!QFile::exists(drv))
    144         warn_msg(WarnLogic, "Cannot access drive '%s' (%s)",
    145                  drv.toLocal8Bit().data(), path.toLocal8Bit().data());
    146     else
    147140#endif
    148141    {
     
    348341                        vpath += Option::output_dir;
    349342                }
    350                 foreach(const QString &vp, vpath) {
    351                     QString real_val = QDir(vp).absoluteFilePath(val);
    352                     if (exists(real_val)) {
    353                         val = real_val;
     343                for(QStringList::Iterator vpath_it = vpath.begin();
     344                    vpath_it != vpath.end(); ++vpath_it) {
     345                    QString real_dir = Option::fixPathToLocalOS((*vpath_it));
     346                    if(exists(real_dir + QDir::separator() + val)) {
     347                        QString dir = (*vpath_it);
     348                        if(dir.right(Option::dir_sep.length()) != Option::dir_sep)
     349                            dir += Option::dir_sep;
     350                        val = dir + val;
    354351                        if(!(flags & VPATH_NoFixify))
    355352                            val = fileFixify(val);
     
    853850                    file = libinfo.first("QMAKE_PRL_TARGET");
    854851                    if(QDir::isRelativePath(file))
    855                         file = QDir(dir).absoluteFilePath(file);
     852                        file);
    856853                }
    857854            }
     
    27372734}
    27382735
    2739 inline static bool pathEquals(const QString &path1, const QString &path2)
    2740 {
    2741 #if defined(Q_OS_WIN) || defined(Q_OS_OS2)
    2742     return path1.compare(path2, Qt::CaseInsensitive) == 0;
    2743 #else
    2744     return path1 == path2;
    2745 #endif
    2746 }
    2747 
    2748 inline static bool pathStartsWith(const QString &path1, const QString &path2)
    2749 {
    2750 #if defined(Q_OS_WIN) || defined(Q_OS_OS2)
    2751     return path1.toLower().startsWith(path2.toLower());
    2752 #else
    2753     return path1.startsWith(path2);
    2754 #endif
    2755 }
    2756 
    27572736QString
    27582737MakefileGenerator::fileFixify(const QString& file, const QString &out_d, const QString &in_d,
     
    27852764    if(fix == FileFixifyAbsolute || (fix == FileFixifyDefault && project->isActiveConfig("no_fixpath"))) {
    27862765        if(fix == FileFixifyAbsolute && QDir::isRelativePath(ret)) //already absolute
    2787             ret = QDir(pwd).absoluteFilePath(ret);
     2766            ret);
    27882767        ret = Option::fixPathToTargetOS(ret, false, canon);
    27892768    } else { //fix it..
     
    28032782        if(out_dir != in_dir || !qfileinfo.isRelative()) {
    28042783            if(qfileinfo.isRelative()) {
    2805                 ret = QDir(in_dir).absoluteFilePath(qfile);
     2784                ret = ;
    28062785                qfileinfo.setFile(ret);
    28072786            }
    28082787            ret = Option::fixPathToTargetOS(ret, false, canon);
    28092788            if(canon && qfileinfo.exists() &&
    2810                pathEquals(file, Option::fixPathToTargetOS(ret, true, canon)))
     2789               ))
    28112790                ret = Option::fixPathToTargetOS(qfileinfo.canonicalFilePath());
    28122791            QString match_dir = Option::fixPathToTargetOS(out_dir, false, canon);
    2813             if(pathEquals(ret, match_dir)) {
     2792            if() {
    28142793                ret = "";
    2815             } else if(pathStartsWith(ret, match_dir + Option::dir_sep)) {
     2794            } else if(match_dir + Option::dir_sep)) {
    28162795                ret = ret.mid(match_dir.length() + Option::dir_sep.length());
    28172796            } else {
     
    28342813                    if(match_dir.isEmpty())
    28352814                        break;
    2836                     if(pathStartsWith(ret, match_dir + Option::dir_sep)) {
     2815                    if(match_dir + Option::dir_sep)) {
    28372816                        //concat
    28382817                        int remlen = ret.length() - (match_dir.length() + 1);
     
    30253004        if(!file.fileName().isEmpty()) {
    30263005            if(QDir::isRelativePath(file.fileName()))
    3027                 file.setFileName(QDir(Option::output_dir).absoluteFilePath(file.fileName())); //pwd when qmake was run
     3006                file.setFileName()); //pwd when qmake was run
    30283007            QFileInfo fi(fileInfo(file.fileName()));
    30293008            if(fi.isDir())
     
    30383017    }
    30393018    if(QDir::isRelativePath(file.fileName())) {
    3040         file.setFileName(QDir(Option::output_dir).absoluteFilePath(file.fileName())); //pwd when qmake was run
     3019        QString fname = Option::output_dir;  //pwd when qmake was run
     3020        if(!fname.endsWith("/"))
     3021            fname += "/";
     3022        fname += file.fileName();
     3023        file.setFileName(fname);
    30413024    }
    30423025    if(!build.isEmpty())