Revert "move finding the makespec to Option"
Needed for an upcoming revert. This reverts commit 74a6669fa7c0d6e2cb7d34d56332d620d2a07755. Conflicts: qmake/option.cpp qmake/project.cpp qmake/property.cpp Change-Id: I56088506d27bf1f095f9261c75224f4bee17ec60 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
This commit is contained in:
parent
28f193ab53
commit
d8b2998dae
@ -583,49 +583,6 @@ void Option::applyHostMode()
|
||||
}
|
||||
}
|
||||
|
||||
QStringList Option::mkspecPaths()
|
||||
{
|
||||
QStringList ret;
|
||||
const QString concat = QLatin1String("/mkspecs");
|
||||
|
||||
QByteArray qmakepath = qgetenv("QMAKEPATH");
|
||||
if (!qmakepath.isEmpty()) {
|
||||
const QStringList lst = splitPathList(QString::fromLocal8Bit(qmakepath));
|
||||
for (QStringList::ConstIterator it = lst.begin(); it != lst.end(); ++it)
|
||||
ret << ((*it) + concat);
|
||||
}
|
||||
if (!Option::mkfile::project_build_root.isEmpty())
|
||||
ret << Option::mkfile::project_build_root + concat;
|
||||
if (!Option::mkfile::project_root.isEmpty())
|
||||
ret << Option::mkfile::project_root + concat;
|
||||
ret << QLibraryInfo::location(QLibraryInfo::HostDataPath) + concat;
|
||||
ret.removeDuplicates();
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool Option::resolveSpec(QString *spec)
|
||||
{
|
||||
QString qmakespec = fixEnvVariables(*spec);
|
||||
if (qmakespec.isEmpty())
|
||||
qmakespec = "default";
|
||||
if (QDir::isRelativePath(qmakespec)) {
|
||||
QStringList mkspec_roots = mkspecPaths();
|
||||
debug_msg(2, "Looking for mkspec %s in (%s)", qmakespec.toLatin1().constData(),
|
||||
mkspec_roots.join("::").toLatin1().constData());
|
||||
for (QStringList::ConstIterator it = mkspec_roots.begin(); it != mkspec_roots.end(); ++it) {
|
||||
QString mkspec = (*it) + QLatin1Char('/') + qmakespec;
|
||||
if (QFile::exists(mkspec)) {
|
||||
*spec = mkspec;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
fprintf(stderr, "Could not find mkspecs for your QMAKESPEC(%s) after trying:\n\t%s\n",
|
||||
qmakespec.toLatin1().constData(), mkspec_roots.join("\n\t").toLatin1().constData());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Option::prepareProject(const QString &pfile)
|
||||
{
|
||||
mkfile::project_build_root.clear();
|
||||
@ -679,9 +636,6 @@ bool Option::prepareProject(const QString &pfile)
|
||||
mkfile::project_root.clear();
|
||||
}
|
||||
|
||||
if (!resolveSpec(&Option::mkfile::qmakespec))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -109,7 +109,6 @@ struct Option
|
||||
//both of these must be called..
|
||||
static int init(int argc=0, char **argv=0); //parse cmdline
|
||||
static void applyHostMode();
|
||||
static QStringList mkspecPaths();
|
||||
static bool prepareProject(const QString &pfile);
|
||||
static bool postProcessProject(QMakeProject *);
|
||||
|
||||
@ -214,7 +213,6 @@ struct Option
|
||||
|
||||
private:
|
||||
static int parseCommandLine(int, char **, int=0);
|
||||
static bool resolveSpec(QString *spec);
|
||||
};
|
||||
|
||||
inline QString fixEnvVariables(const QString &x) { return Option::fixString(x, Option::FixEnvVars); }
|
||||
|
@ -602,6 +602,26 @@ QStringList qmake_feature_paths(QMakeProperty *prop=0)
|
||||
return feature_roots;
|
||||
}
|
||||
|
||||
QStringList qmake_mkspec_paths()
|
||||
{
|
||||
QStringList ret;
|
||||
const QString concat = QLatin1String("/mkspecs");
|
||||
QByteArray qmakepath = qgetenv("QMAKEPATH");
|
||||
if (!qmakepath.isEmpty()) {
|
||||
const QStringList lst = splitPathList(QString::fromLocal8Bit(qmakepath));
|
||||
for (QStringList::ConstIterator it = lst.begin(); it != lst.end(); ++it)
|
||||
ret << ((*it) + concat);
|
||||
}
|
||||
if (!Option::mkfile::project_build_root.isEmpty())
|
||||
ret << Option::mkfile::project_build_root + concat;
|
||||
if (!Option::mkfile::project_root.isEmpty())
|
||||
ret << Option::mkfile::project_root + concat;
|
||||
ret << QLibraryInfo::location(QLibraryInfo::DataPath) + concat;
|
||||
ret.removeDuplicates();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
QMakeProject::~QMakeProject()
|
||||
{
|
||||
if(own_prop)
|
||||
@ -1285,6 +1305,29 @@ QMakeProject::read(uchar cmd)
|
||||
}
|
||||
{ // parse mkspec
|
||||
QString qmakespec = Option::mkfile::qmakespec;
|
||||
if (qmakespec.isEmpty())
|
||||
qmakespec = "default";
|
||||
if (QDir::isRelativePath(qmakespec)) {
|
||||
QStringList mkspec_roots = qmake_mkspec_paths();
|
||||
debug_msg(2, "Looking for mkspec %s in (%s)", qmakespec.toLatin1().constData(),
|
||||
mkspec_roots.join("::").toLatin1().constData());
|
||||
bool found_mkspec = false;
|
||||
for (QStringList::ConstIterator it = mkspec_roots.begin(); it != mkspec_roots.end(); ++it) {
|
||||
QString mkspec = (*it) + QLatin1Char('/') + qmakespec;
|
||||
if (QFile::exists(mkspec)) {
|
||||
found_mkspec = true;
|
||||
Option::mkfile::qmakespec = qmakespec = mkspec;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found_mkspec) {
|
||||
fprintf(stderr, "Could not find mkspecs for your QMAKESPEC(%s) after trying:\n\t%s\n",
|
||||
qmakespec.toLatin1().constData(), mkspec_roots.join("\n\t").toLatin1().constData());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// parse qmake configuration
|
||||
while(qmakespec.endsWith(QLatin1Char('/')))
|
||||
qmakespec.truncate(qmakespec.length()-1);
|
||||
QString spec = qmakespec + QLatin1String("/qmake.conf");
|
||||
|
@ -49,6 +49,8 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
QStringList qmake_mkspec_paths(); //project.cpp
|
||||
|
||||
static const struct {
|
||||
const char *name;
|
||||
QLibraryInfo::LibraryLocation loc;
|
||||
@ -115,7 +117,7 @@ QMakeProperty::value(QString v, bool just_check)
|
||||
if (!val.isNull())
|
||||
return val;
|
||||
else if(v == "QMAKE_MKSPECS")
|
||||
return Option::mkspecPaths().join(Option::dirlist_sep);
|
||||
return qmake_mkspec_paths().join(Option::dirlist_sep);
|
||||
else if(v == "QMAKE_VERSION")
|
||||
return qmake_version();
|
||||
#ifdef QT_VERSION_STR
|
||||
|
Loading…
x
Reference in New Issue
Block a user