Changeset 362
- Timestamp:
- Nov 30, 2009, 12:56:45 AM (16 years ago)
- Location:
- trunk/qmake
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/qmake/cachekeys.h
r2 r362 48 48 #include <qfile.h> 49 49 #include <qfileinfo.h> 50 #include <qdir.h> 50 51 #include <qhash.h> 51 52 … … 107 108 return true; 108 109 110 #ifdef Q_OS_OS2 111 return QDir::isRelativePath(file); 112 #else 109 113 const QChar c0 = file.at(0); 110 114 const QChar c1 = length >= 2 ? file.at(1) : QChar(0); … … 114 118 || (c0 == QLatin1Char('/') && c1 == QLatin1Char('/')) 115 119 || (c0 == QLatin1Char('\\') && c1 == QLatin1Char('\\'))); 120 #endif 116 121 } 117 122 }; -
trunk/qmake/generators/makefile.cpp
r356 r362 125 125 } 126 126 bool ret = true; 127 #if defined(Q_OS_WIN) || defined(Q_OS_OS2)127 #if defined(Q_OS_WIN) 128 128 bool driveExists = true; 129 129 if(!QDir::isRelativePath(path)) { … … 138 138 } 139 139 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 140 147 #endif 141 148 { … … 341 348 vpath += Option::output_dir; 342 349 } 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; 350 foreach(const QString &vp, vpath) { 351 QString real_val = QDir(vp).absoluteFilePath(val); 352 if (exists(real_val)) { 353 val = real_val; 351 354 if(!(flags & VPATH_NoFixify)) 352 355 val = fileFixify(val); … … 850 853 file = libinfo.first("QMAKE_PRL_TARGET"); 851 854 if(QDir::isRelativePath(file)) 852 file .prepend(dir);855 file = QDir(dir).absoluteFilePath(file); 853 856 } 854 857 } … … 2782 2785 if(fix == FileFixifyAbsolute || (fix == FileFixifyDefault && project->isActiveConfig("no_fixpath"))) { 2783 2786 if(fix == FileFixifyAbsolute && QDir::isRelativePath(ret)) //already absolute 2784 ret .prepend(pwd);2787 ret = QDir(pwd).absoluteFilePath(ret); 2785 2788 ret = Option::fixPathToTargetOS(ret, false, canon); 2786 2789 } else { //fix it.. … … 2800 2803 if(out_dir != in_dir || !qfileinfo.isRelative()) { 2801 2804 if(qfileinfo.isRelative()) { 2802 ret = in_dir + "/" + qfile;2805 ret = QDir(in_dir).absoluteFilePath(qfile); 2803 2806 qfileinfo.setFile(ret); 2804 2807 } … … 3022 3025 if(!file.fileName().isEmpty()) { 3023 3026 if(QDir::isRelativePath(file.fileName())) 3024 file.setFileName( Option::output_dir + "/" + file.fileName()); //pwd when qmake was run3027 file.setFileName(QDir(Option::output_dir).absoluteFilePath(file.fileName())); //pwd when qmake was run 3025 3028 QFileInfo fi(fileInfo(file.fileName())); 3026 3029 if(fi.isDir()) … … 3035 3038 } 3036 3039 if(QDir::isRelativePath(file.fileName())) { 3037 QString fname = Option::output_dir; //pwd when qmake was run 3038 if(!fname.endsWith("/")) 3039 fname += "/"; 3040 fname += file.fileName(); 3041 file.setFileName(fname); 3040 file.setFileName(QDir(Option::output_dir).absoluteFilePath(file.fileName())); //pwd when qmake was run 3042 3041 } 3043 3042 if(!build.isEmpty()) … … 3057 3056 od = Option::fixPathToTargetOS(od); 3058 3057 if(QDir::isRelativePath(od)) 3059 od .prepend(Option::output_dir);3058 od = QDir(Option::output_dir).absoluteFilePath(od); 3060 3059 Option::output_dir = od; 3061 3060 return true; -
trunk/qmake/generators/makefiledeps.cpp
r2 r362 625 625 if(try_local) { 626 626 QString dir = findFileInfo(file->file).path(); 627 if(QDir::isRelativePath(dir)) 628 dir.prepend(qmake_getpwd() + "/"); 629 if(!dir.endsWith("/")) 630 dir += "/"; 631 QMakeLocalFileName f(dir + lfn.local()); 627 QMakeLocalFileName f(QDir(dir).absoluteFilePath(lfn.local())); 632 628 if(findFileInfo(f).exists()) { 633 629 lfn = fixPathForFile(f); … … 636 632 } 637 633 if(!exists) { //path lookup 638 for (QList<QMakeLocalFileName>::Iterator it = depdirs.begin(); it != depdirs.end(); ++it) {639 QMakeLocalFileName f( (*it).real() + Option::dir_sep + lfn.real());634 foreach(const QMakeLocalFileName &dd, depdirs) { 635 QMakeLocalFileName f(QDir(dd.real()).absoluteFilePath(lfn.real())); 640 636 QFileInfo fi(findFileInfo(f)); 641 637 if(fi.exists() && !fi.isDir()) { -
trunk/qmake/generators/metamakefile.cpp
r29 r362 325 325 sub->input_dir = subdir.absolutePath(); 326 326 if(subdir.isRelative() && old_output_dir != oldpwd) { 327 sub->output_dir = old_output_dir + "/" + subdir.path();327 sub->output_dir = QDir(old_output_dir).absoluteFilePath(subdir.path()); 328 328 printf("Reading %s [%s]\n", subdir.absoluteFilePath().toLatin1().constData(), sub->output_dir.toLatin1().constData()); 329 329 } else { //what about shadow builds? -
trunk/qmake/generators/win32/winmakefile.cpp
r193 r362 246 246 tmp = opt; 247 247 for(QList<QMakeLocalFileName>::Iterator it = libdirs.begin(); it != libdirs.end(); ++it) { 248 QString prl = (*it).local() + Option::dir_sep + tmp;248 QString prl = QDir((*it).local()).absoluteFilePath(tmp); 249 249 // the original is used as the key 250 250 QString orgprl = prl; -
trunk/qmake/main.cpp
r29 r362 127 127 Option::output_dir = dir; 128 128 if(QDir::isRelativePath(Option::output_dir)) 129 Option::output_dir .prepend(oldpwd);129 Option::output_dir = QDir(oldpwd).absoluteFilePath(Option::output_dir); 130 130 Option::output_dir = QDir::cleanPath(Option::output_dir); 131 131 } -
trunk/qmake/meta.cpp
r2 r362 163 163 QString targ = dirs[i] + (*lst_it); 164 164 if(QDir::isRelativePath(targ)) 165 targ .prepend(qmake_getpwd() + QDir::separator());165 targ = QDir(qmake_getpwd()).absoluteFilePath(targ); 166 166 vars["QMAKE_PRL_TARGET"] << targ; 167 167 found = true; -
trunk/qmake/project.cpp
r29 r362 1457 1457 if (QFile::exists(qmakespec+"/qmake.conf")) { 1458 1458 Option::mkfile::qmakespec = QFileInfo(Option::mkfile::qmakespec).absoluteFilePath(); 1459 } else if (QFile::exists(Option::output_dir+"/"+qmakespec+"/qmake.conf")) {1460 qmakespec = Option::mkfile::qmakespec = QFileInfo(Option::output_dir+"/"+qmakespec).absoluteFilePath();1461 1459 } else { 1462 bool found_mkspec = false; 1463 for(QStringList::ConstIterator it = mkspec_roots.begin(); it != mkspec_roots.end(); ++it) { 1464 QString mkspec = (*it) + QDir::separator() + qmakespec; 1465 if(QFile::exists(mkspec)) { 1466 found_mkspec = true; 1467 Option::mkfile::qmakespec = qmakespec = mkspec; 1468 break; 1460 QString tmp = QDir(Option::output_dir).absoluteFilePath(qmakespec); 1461 if (QFile::exists(tmp+"/qmake.conf")) 1462 qmakespec = Option::mkfile::qmakespec = tmp; 1463 else { 1464 bool found_mkspec = false; 1465 foreach(const QString &root, mkspec_roots) { 1466 QString mkspec = QDir(root).absoluteFilePath(qmakespec); 1467 if(QFile::exists(mkspec)) { 1468 found_mkspec = true; 1469 Option::mkfile::qmakespec = qmakespec = mkspec; 1470 break; 1471 } 1469 1472 } 1470 }1471 if(!found_mkspec) {1472 fprintf(stderr, "Could not find mkspecs for your QMAKESPEC(%s) after trying:\n\t%s\n",1473 qmakespec.toLatin1().constData(), mkspec_roots.join("\n\t").toLatin1().constData());1474 return false;1473 if(!found_mkspec) { 1474 fprintf(stderr, "Could not find mkspecs for your QMAKESPEC(%s) after trying:\n\t%s\n", 1475 qmakespec.toLatin1().constData(), mkspec_roots.join("\n\t").toLatin1().constData()); 1476 return false; 1477 } 1475 1478 } 1476 1479 } … … 1775 1778 include_roots << qmake_getpwd(); 1776 1779 include_roots << Option::output_dir; 1777 for(int root = 0; root < include_roots.size(); ++root) { 1778 QString testName = QDir::toNativeSeparators(include_roots[root]); 1779 if (!testName.endsWith(QString(QDir::separator()))) 1780 testName += QDir::separator(); 1781 testName += file; 1780 foreach(const QString &root, include_roots) { 1781 QString testName = QDir(root).absoluteFilePath(file); 1782 1782 if(QFile::exists(testName)) { 1783 1783 file = testName;
Note:
See TracChangeset
for help on using the changeset viewer.