diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-02-28 20:57:38 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-01 23:18:23 +0100 |
commit | 012f799254eedc610e2e33842e62d2a184b14fcc (patch) | |
tree | 2499beab7bce07a3ad7e275dd4f1f3c3ca594d4a /qmake/property.cpp | |
parent | c0e9041b6dc2cc46334df2dffe640f1ead1e0898 (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.cpp | 48 |
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() |