summaryrefslogtreecommitdiffstats
path: root/qmake/property.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-02-28 20:57:38 +0100
committerQt by Nokia <qt-info@nokia.com>2012-03-01 23:18:23 +0100
commit012f799254eedc610e2e33842e62d2a184b14fcc (patch)
tree2499beab7bce07a3ad7e275dd4f1f3c3ca594d4a /qmake/property.cpp
parentc0e9041b6dc2cc46334df2dffe640f1ead1e0898 (diff)
revamp -sysroot and -hostprefix handling
instead of being a variable added to the makespec (via qconfig.pri), QT_SYSROOT is now a property. the QT_INSTALL_... properties are now automatically prefixed with the sysroot; the raw values are available as QT_RAW_INSTALL_... - this is expected to cause the least migration effort for existing projects. -hostprefix and the new -hostbindir & -hostdatadir now feed the new QT_HOST_... properties. adapted the qmake feature files and the qtbase build system accordingly. Change-Id: Iaa9b65bc10d9fe9c4988d620c70a8ce72177f8d4 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Diffstat (limited to 'qmake/property.cpp')
-rw-r--r--qmake/property.cpp48
1 files changed, 33 insertions, 15 deletions
diff --git a/qmake/property.cpp b/qmake/property.cpp
index dec204cb9c..7cb689ed7e 100644
--- a/qmake/property.cpp
+++ b/qmake/property.cpp
@@ -54,27 +54,45 @@ QStringList qmake_mkspec_paths(); //project.cpp
static const struct {
const char *name;
QLibraryInfo::LibraryLocation loc;
+ bool raw;
} propList[] = {
- { "QT_INSTALL_PREFIX", QLibraryInfo::PrefixPath },
- { "QT_INSTALL_DATA", QLibraryInfo::DataPath },
- { "QT_INSTALL_DOCS", QLibraryInfo::DocumentationPath },
- { "QT_INSTALL_HEADERS", QLibraryInfo::HeadersPath },
- { "QT_INSTALL_LIBS", QLibraryInfo::LibrariesPath },
- { "QT_INSTALL_BINS", QLibraryInfo::BinariesPath },
- { "QT_INSTALL_TESTS", QLibraryInfo::TestsPath },
- { "QT_INSTALL_PLUGINS", QLibraryInfo::PluginsPath },
- { "QT_INSTALL_IMPORTS", QLibraryInfo::ImportsPath },
- { "QT_INSTALL_TRANSLATIONS", QLibraryInfo::TranslationsPath },
- { "QT_INSTALL_CONFIGURATION", QLibraryInfo::SettingsPath },
- { "QT_INSTALL_EXAMPLES", QLibraryInfo::ExamplesPath },
- { "QT_INSTALL_DEMOS", QLibraryInfo::ExamplesPath }, // Just backwards compat
+ { "QT_SYSROOT", QLibraryInfo::SysrootPath, true },
+ { "QT_INSTALL_PREFIX", QLibraryInfo::PrefixPath, false },
+ { "QT_INSTALL_DATA", QLibraryInfo::DataPath, false },
+ { "QT_INSTALL_DOCS", QLibraryInfo::DocumentationPath, false },
+ { "QT_INSTALL_HEADERS", QLibraryInfo::HeadersPath, false },
+ { "QT_INSTALL_LIBS", QLibraryInfo::LibrariesPath, false },
+ { "QT_INSTALL_BINS", QLibraryInfo::BinariesPath, false },
+ { "QT_INSTALL_TESTS", QLibraryInfo::TestsPath, false },
+ { "QT_INSTALL_PLUGINS", QLibraryInfo::PluginsPath, false },
+ { "QT_INSTALL_IMPORTS", QLibraryInfo::ImportsPath, false },
+ { "QT_INSTALL_TRANSLATIONS", QLibraryInfo::TranslationsPath, false },
+ { "QT_INSTALL_CONFIGURATION", QLibraryInfo::SettingsPath, false },
+ { "QT_INSTALL_EXAMPLES", QLibraryInfo::ExamplesPath, false },
+ { "QT_INSTALL_DEMOS", QLibraryInfo::ExamplesPath, false }, // Just backwards compat
+ { "QT_RAW_INSTALL_PREFIX", QLibraryInfo::PrefixPath, true },
+ { "QT_RAW_INSTALL_DATA", QLibraryInfo::DataPath, true },
+ { "QT_RAW_INSTALL_DOCS", QLibraryInfo::DocumentationPath, true },
+ { "QT_RAW_INSTALL_HEADERS", QLibraryInfo::HeadersPath, true },
+ { "QT_RAW_INSTALL_LIBS", QLibraryInfo::LibrariesPath, true },
+ { "QT_RAW_INSTALL_BINS", QLibraryInfo::BinariesPath, true },
+ { "QT_RAW_INSTALL_TESTS", QLibraryInfo::TestsPath, true },
+ { "QT_RAW_INSTALL_PLUGINS", QLibraryInfo::PluginsPath, true },
+ { "QT_RAW_INSTALL_IMPORTS", QLibraryInfo::ImportsPath, true },
+ { "QT_RAW_INSTALL_TRANSLATIONS", QLibraryInfo::TranslationsPath, true },
+ { "QT_RAW_INSTALL_CONFIGURATION", QLibraryInfo::SettingsPath, true },
+ { "QT_RAW_INSTALL_EXAMPLES", QLibraryInfo::ExamplesPath, true },
+ { "QT_HOST_PREFIX", QLibraryInfo::HostPrefixPath, true },
+ { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
+ { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
};
QMakeProperty::QMakeProperty() : settings(0)
{
for (int i = 0; i < sizeof(propList)/sizeof(propList[0]); i++)
- m_values[QString::fromLatin1(propList[i].name)] =
- QLibraryInfo::location(propList[i].loc);
+ m_values[QString::fromLatin1(propList[i].name)] = propList[i].raw
+ ? QLibraryInfo::rawLocation(propList[i].loc)
+ : QLibraryInfo::location(propList[i].loc);
}
QMakeProperty::~QMakeProperty()