-rw-r--r-- | qmake/project.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/qmake/project.cpp b/qmake/project.cpp index ae24193..96cdad8 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp | |||
@@ -428,53 +428,60 @@ QMakeProject::read(QString project, QString) | |||
428 | } | 428 | } |
429 | if(Option::mkfile::cachefile_depth == -1) | 429 | if(Option::mkfile::cachefile_depth == -1) |
430 | Option::mkfile::cachefile_depth = 1; | 430 | Option::mkfile::cachefile_depth = 1; |
431 | else | 431 | else |
432 | Option::mkfile::cachefile_depth++; | 432 | Option::mkfile::cachefile_depth++; |
433 | } | 433 | } |
434 | } | 434 | } |
435 | if(!Option::mkfile::cachefile.isEmpty()) { | 435 | if(!Option::mkfile::cachefile.isEmpty()) { |
436 | read(Option::mkfile::cachefile, cache); | 436 | read(Option::mkfile::cachefile, cache); |
437 | if(Option::mkfile::qmakespec.isEmpty() && !cache["QMAKESPEC"].isEmpty()) | 437 | if(Option::mkfile::qmakespec.isEmpty() && !cache["QMAKESPEC"].isEmpty()) |
438 | Option::mkfile::qmakespec = cache["QMAKESPEC"].first(); | 438 | Option::mkfile::qmakespec = cache["QMAKESPEC"].first(); |
439 | } | 439 | } |
440 | } | 440 | } |
441 | /* parse mkspec */ | 441 | /* parse mkspec */ |
442 | QStringList mkspec_roots; | 442 | QStringList mkspec_roots; |
443 | /* prefer $QTDIR if it is set */ | 443 | /* prefer $QTDIR if it is set */ |
444 | /* minor hack here, prefer QMAKESPECDIR -cl */ | 444 | /* prefer QMAKESPECSDIR -cl */ |
445 | 445 | ||
446 | if (getenv("QMAKESPECDIR")){ | 446 | if (getenv("QTDIR")) { |
447 | mkspec_roots << getenv("QMAKESPECDIR"); | ||
448 | } else if (getenv("QTDIR")) { | ||
449 | mkspec_roots << getenv("QTDIR"); | 447 | mkspec_roots << getenv("QTDIR"); |
450 | } | 448 | } |
451 | mkspec_roots << qInstallPathData(); | 449 | mkspec_roots << qInstallPathData(); |
450 | |||
451 | if (getenv("QMAKESPECSDIR")){ | ||
452 | QString mkspec = QString(getenv("QMAKESPECSDIR")) + QDir::separator() + | ||
453 | QDir::separator() + "default"; | ||
454 | if(QFile::exists(mkspec)) | ||
455 | Option::mkfile::qmakespec = mkspec; | ||
456 | } | ||
457 | |||
452 | if(Option::mkfile::qmakespec.isEmpty()) { | 458 | if(Option::mkfile::qmakespec.isEmpty()) { |
453 | for(QStringList::Iterator it = mkspec_roots.begin(); it != mkspec_roots.end(); ++it) { | 459 | for(QStringList::Iterator it = mkspec_roots.begin(); it != mkspec_roots.end(); ++it) { |
454 | QString mkspec = (*it) + QDir::separator() + QString("mkspecs") + | 460 | QString mkspec = (*it) + QDir::separator() + QString("mkspecs") + |
455 | QDir::separator() + "default"; | 461 | QDir::separator() + "default"; |
456 | if(QFile::exists(mkspec)) { | 462 | if(QFile::exists(mkspec)) { |
457 | Option::mkfile::qmakespec = mkspec; | 463 | Option::mkfile::qmakespec = mkspec; |
458 | break; | 464 | break; |
459 | } | 465 | } |
460 | } | 466 | } |
461 | if(Option::mkfile::qmakespec.isEmpty()) { | 467 | } |
462 | fprintf(stderr, "QMAKESPEC has not been set, so configuration cannot be deduced.\n"); | 468 | |
463 | return FALSE; | 469 | if(Option::mkfile::qmakespec.isEmpty()) { |
464 | } | 470 | fprintf(stderr, "QMAKESPEC has not been set, so configuration cannot be deduced.\n"); |
471 | return FALSE; | ||
465 | } | 472 | } |
466 | 473 | ||
467 | if(QDir::isRelativePath(Option::mkfile::qmakespec)) { | 474 | if(QDir::isRelativePath(Option::mkfile::qmakespec)) { |
468 | bool found_mkspec = FALSE; | 475 | bool found_mkspec = FALSE; |
469 | for(QStringList::Iterator it = mkspec_roots.begin(); it != mkspec_roots.end(); ++it) { | 476 | for(QStringList::Iterator it = mkspec_roots.begin(); it != mkspec_roots.end(); ++it) { |
470 | QString mkspec = (*it) + QDir::separator() + QString("mkspecs") + | 477 | QString mkspec = (*it) + QDir::separator() + QString("mkspecs") + |
471 | QDir::separator() + Option::mkfile::qmakespec; | 478 | QDir::separator() + Option::mkfile::qmakespec; |
472 | if(QFile::exists(mkspec)) { | 479 | if(QFile::exists(mkspec)) { |
473 | found_mkspec = TRUE; | 480 | found_mkspec = TRUE; |
474 | Option::mkfile::qmakespec = mkspec; | 481 | Option::mkfile::qmakespec = mkspec; |
475 | break; | 482 | break; |
476 | } | 483 | } |
477 | } | 484 | } |
478 | if(!found_mkspec) { | 485 | if(!found_mkspec) { |
479 | fprintf(stderr, "Could not find mkspecs for your QMAKESPEC after trying:\n\t%s\n", | 486 | fprintf(stderr, "Could not find mkspecs for your QMAKESPEC after trying:\n\t%s\n", |
480 | mkspec_roots.join("\n\t").latin1()); | 487 | mkspec_roots.join("\n\t").latin1()); |