Qmake: Parse two AppMan specific variables

Effectively the same approach as for Android, but a bit more ugly
as we don't have necessarily access to the appman plugin headers
even at compile time.

Change-Id: I6d00e69b593470e059a16a1fcf6b57bdd550ae40
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2019-11-14 15:02:47 +01:00
parent 74964edd22
commit b74f4c9140
3 changed files with 10 additions and 0 deletions

View File

@@ -379,6 +379,12 @@ QVariant QmakeProFileNode::data(Core::Id role) const
if (role == Android::Constants::AndroidTargets)
return {};
// We can not use AppMan headers even at build time.
if (role == "AppmanPackageDir")
return singleVariableValue(Variable::AppmanPackageDir);
if (role == "AppmanManifest")
return singleVariableValue(Variable::AppmanManifest);
if (role == Ios::Constants::IosTarget) {
const TargetInformation info = targetInformation();
if (info.valid)

View File

@@ -1557,6 +1557,8 @@ QmakeEvalResult *QmakeProFile::evaluate(const QmakeEvalInput &input)
result->newVarValues[Variable::AndroidDeploySettingsFile] = exactReader->values(QLatin1String("ANDROID_DEPLOYMENT_SETTINGS_FILE"));
result->newVarValues[Variable::AndroidPackageSourceDir] = exactReader->values(QLatin1String("ANDROID_PACKAGE_SOURCE_DIR"));
result->newVarValues[Variable::AndroidExtraLibs] = exactReader->values(QLatin1String("ANDROID_EXTRA_LIBS"));
result->newVarValues[Variable::AppmanPackageDir] = exactReader->values(QLatin1String("AM_PACKAGE_DIR"));
result->newVarValues[Variable::AppmanManifest] = exactReader->values(QLatin1String("AM_MANIFEST"));
result->newVarValues[Variable::IsoIcons] = exactReader->values(QLatin1String("ISO_ICONS"));
result->newVarValues[Variable::QmakeProjectName] = exactReader->values(QLatin1String("QMAKE_PROJECT_NAME"));
result->newVarValues[Variable::QmakeCc] = exactReader->values("QMAKE_CC");

View File

@@ -98,6 +98,8 @@ enum class Variable {
AndroidDeploySettingsFile,
AndroidPackageSourceDir,
AndroidExtraLibs,
AppmanPackageDir,
AppmanManifest,
IsoIcons,
QmakeProjectName,
QmakeCc,